@atlaskit/navigation-system 0.182.0 → 1.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 (790) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/cjs/components/skip-links/skip-links-container.js +25 -17
  3. package/dist/cjs/context/skip-links/skip-links-data-context.js +28 -10
  4. package/dist/cjs/context/skip-links/skip-links-provider.js +17 -6
  5. package/dist/cjs/ui/menu-item/menu-item.js +1 -1
  6. package/dist/cjs/ui/page-layout/root.js +11 -1
  7. package/dist/es2019/components/skip-links/skip-links-container.js +24 -16
  8. package/dist/es2019/context/skip-links/skip-links-data-context.js +25 -8
  9. package/dist/es2019/context/skip-links/skip-links-provider.js +17 -6
  10. package/dist/es2019/ui/menu-item/menu-item.js +1 -1
  11. package/dist/es2019/ui/page-layout/root.js +11 -1
  12. package/dist/esm/components/skip-links/skip-links-container.js +23 -15
  13. package/dist/esm/context/skip-links/skip-links-data-context.js +26 -9
  14. package/dist/esm/context/skip-links/skip-links-provider.js +16 -5
  15. package/dist/esm/ui/menu-item/menu-item.js +1 -1
  16. package/dist/esm/ui/page-layout/root.js +11 -1
  17. package/dist/types/components/skip-links/skip-links-container.d.ts +13 -8
  18. package/dist/types/context/skip-links/skip-links-data-context.d.ts +15 -1
  19. package/dist/types/context/skip-links/skip-links-provider.d.ts +9 -4
  20. package/dist/types-ts4.5/components/skip-links/skip-links-container.d.ts +13 -8
  21. package/dist/types-ts4.5/context/skip-links/skip-links-data-context.d.ts +15 -1
  22. package/dist/types-ts4.5/context/skip-links/skip-links-provider.d.ts +9 -4
  23. package/package.json +9 -10
  24. package/afm-cc/tsconfig.json +0 -78
  25. package/afm-dev-agents/tsconfig.json +0 -78
  26. package/afm-jira/tsconfig.json +0 -78
  27. package/afm-passionfruit/tsconfig.json +0 -78
  28. package/afm-post-office/tsconfig.json +0 -78
  29. package/afm-rovo-extension/tsconfig.json +0 -78
  30. package/afm-townsquare/tsconfig.json +0 -78
  31. package/afm-volt/tsconfig.json +0 -78
  32. package/build/tsconfig.json +0 -23
  33. package/docs/00-intro.tsx +0 -14
  34. package/examples/advanced-layout.tsx +0 -144
  35. package/examples/button-menu-item.tsx +0 -426
  36. package/examples/company-hub-mock.tsx +0 -219
  37. package/examples/composition.tsx +0 -424
  38. package/examples/confluence-mock.tsx +0 -381
  39. package/examples/constellation/common/mock-content.tsx +0 -39
  40. package/examples/constellation/common/mock-top-bar.tsx +0 -20
  41. package/examples/constellation/layout/custom-skip-links.tsx +0 -12
  42. package/examples/constellation/layout/custom-theming--parse-hex.tsx +0 -19
  43. package/examples/constellation/layout/custom-theming--parse-hsl.tsx +0 -22
  44. package/examples/constellation/layout/custom-theming--parse-rgb.tsx +0 -22
  45. package/examples/constellation/layout/custom-theming--parse-user-color.tsx +0 -22
  46. package/examples/constellation/layout/custom-theming--rgb-object.tsx +0 -21
  47. package/examples/constellation/layout/expand-side-nav.tsx +0 -17
  48. package/examples/constellation/layout/toggle-side-nav-keyboard-shortcut.tsx +0 -25
  49. package/examples/constellation/side-nav-items/actions-and-actions-on-hover.tsx +0 -153
  50. package/examples/constellation/side-nav-items/button-menu-item.tsx +0 -133
  51. package/examples/constellation/side-nav-items/common/global-app-icon-tile.tsx +0 -43
  52. package/examples/constellation/side-nav-items/common/mock-side-nav.tsx +0 -18
  53. package/examples/constellation/side-nav-items/container-avatar.tsx +0 -32
  54. package/examples/constellation/side-nav-items/elem-after.tsx +0 -60
  55. package/examples/constellation/side-nav-items/elem-before.tsx +0 -116
  56. package/examples/constellation/side-nav-items/expandable-menu-item-default-variant.tsx +0 -219
  57. package/examples/constellation/side-nav-items/expandable-menu-item-link-variant.tsx +0 -278
  58. package/examples/constellation/side-nav-items/flyout-menu-item.tsx +0 -156
  59. package/examples/constellation/side-nav-items/link-menu-item.tsx +0 -161
  60. package/examples/constellation/side-nav-items/menu-divider.tsx +0 -114
  61. package/examples/constellation/side-nav-items/menu-section.tsx +0 -177
  62. package/examples/constellation/side-nav-items/right-to-left.tsx +0 -144
  63. package/examples/constellation/side-nav-items/top-level-spacer.tsx +0 -82
  64. package/examples/constellation/side-nav-items/truncation.tsx +0 -58
  65. package/examples/constellation/top-nav-items/app-logo.tsx +0 -19
  66. package/examples/constellation/top-nav-items/custom-logo.tsx +0 -28
  67. package/examples/constellation/top-nav-items/custom-theming--buttons.tsx +0 -27
  68. package/examples/constellation/top-nav-items/custom-theming--logo.tsx +0 -27
  69. package/examples/constellation/top-nav-items/custom-theming--search.tsx +0 -28
  70. package/examples/constellation/top-nav-items/custom-title.tsx +0 -20
  71. package/examples/constellation/top-nav-items/end-item.tsx +0 -23
  72. package/examples/constellation/top-nav-items/top-nav-button.tsx +0 -34
  73. package/examples/constellation/top-nav-items/top-nav-end.tsx +0 -25
  74. package/examples/constellation/top-nav-items/top-nav-middle.tsx +0 -19
  75. package/examples/constellation/top-nav-items/top-nav-start.tsx +0 -31
  76. package/examples/drag-and-drop/jira/data.tsx +0 -320
  77. package/examples/drag-and-drop/jira/entry.tsx +0 -89
  78. package/examples/drag-and-drop/jira/filters/filter-move-modal.tsx +0 -171
  79. package/examples/drag-and-drop/jira/filters/filter-tree-utils.tsx +0 -134
  80. package/examples/drag-and-drop/jira/filters/filters-menu-item.tsx +0 -470
  81. package/examples/drag-and-drop/jira/for-you/for-you-menu-item.tsx +0 -74
  82. package/examples/drag-and-drop/jira/projects/project-tile.tsx +0 -37
  83. package/examples/drag-and-drop/jira/projects/project.tsx +0 -257
  84. package/examples/drag-and-drop/jira/projects/projects-menu-item.tsx +0 -120
  85. package/examples/drag-and-drop/jira/recent/recent-menu-item.tsx +0 -30
  86. package/examples/drag-and-drop/jira/reducer.tsx +0 -78
  87. package/examples/drag-and-drop/jira/registry.tsx +0 -52
  88. package/examples/drag-and-drop/jira/reorder-actions.tsx +0 -75
  89. package/examples/drag-and-drop/jira/shared-top-level-flyout.tsx +0 -144
  90. package/examples/drag-and-drop/jira/sidebar.tsx +0 -361
  91. package/examples/drag-and-drop/jira/starred/starred-menu-item.tsx +0 -29
  92. package/examples/drag-and-drop/jira/state-context.tsx +0 -34
  93. package/examples/drag-and-drop/jira/top-level-shared-more-menu.tsx +0 -99
  94. package/examples/drag-and-drop/sidebar-example-container.tsx +0 -38
  95. package/examples/drag-and-drop/simple.tsx +0 -653
  96. package/examples/drag-and-drop/standalone-jira-sidebar-centered.tsx +0 -27
  97. package/examples/drag-and-drop/standalone-jira-sidebar.tsx +0 -18
  98. package/examples/drag-and-drop-in-the-sidebar-flyout.tsx +0 -161
  99. package/examples/drag-and-drop-jira-scaling-vr.tsx +0 -25
  100. package/examples/drag-and-drop-jira-sidebar-centered.tsx +0 -1
  101. package/examples/drag-and-drop-jira-sidebar-standalone.tsx +0 -1
  102. package/examples/drag-and-drop-jira.tsx +0 -1
  103. package/examples/drag-and-drop.tsx +0 -1
  104. package/examples/expandable-menu-item.tsx +0 -775
  105. package/examples/flyout-menu-item-async-content.tsx +0 -118
  106. package/examples/flyout-menu-item-multiple.tsx +0 -180
  107. package/examples/flyout-menu-item.tsx +0 -269
  108. package/examples/images/200x20.png +0 -0
  109. package/examples/images/200x200.png +0 -0
  110. package/examples/images/20x20.png +0 -0
  111. package/examples/images/20x200.png +0 -0
  112. package/examples/images/cd.svg +0 -9
  113. package/examples/images/koala.png +0 -0
  114. package/examples/images/koala.svg +0 -9
  115. package/examples/images/money.svg +0 -9
  116. package/examples/images/science.svg +0 -20
  117. package/examples/interactive-layout.tsx +0 -286
  118. package/examples/layers-in-main.tsx +0 -294
  119. package/examples/legacy-var-testing.tsx +0 -173
  120. package/examples/link-menu-item.tsx +0 -383
  121. package/examples/main-content-border.tsx +0 -148
  122. package/examples/menu-item-avatar.tsx +0 -41
  123. package/examples/menu-item-conditional-tooltip.tsx +0 -304
  124. package/examples/menu-item-focus-ring-bleed.tsx +0 -50
  125. package/examples/menu-item-integration.tsx +0 -207
  126. package/examples/menu-item-narrow.tsx +0 -290
  127. package/examples/menu-item-scroll-into-view.tsx +0 -283
  128. package/examples/menu-items-deeply-nested.tsx +0 -330
  129. package/examples/menu-list.tsx +0 -62
  130. package/examples/menu-section.tsx +0 -78
  131. package/examples/page-layout-all-slots-banner-height-zero.tsx +0 -3
  132. package/examples/page-layout-all-slots-custom-sizes.tsx +0 -3
  133. package/examples/page-layout-all-slots-rtl.tsx +0 -3
  134. package/examples/page-layout-all-slots-scrollable.tsx +0 -3
  135. package/examples/page-layout-all-slots.tsx +0 -3
  136. package/examples/page-layout-aside-border.tsx +0 -149
  137. package/examples/page-layout-content-is-iframes.tsx +0 -3
  138. package/examples/page-layout-edge-case-absolute-positioned-collapsed-custom-sizes.tsx +0 -3
  139. package/examples/page-layout-edge-case-absolute-positioned-collapsed.tsx +0 -3
  140. package/examples/page-layout-edge-case-absolute-positioned-panel-visible.tsx +0 -3
  141. package/examples/page-layout-edge-case-absolute-positioned-resizable.tsx +0 -3
  142. package/examples/page-layout-edge-case-absolute-positioned.tsx +0 -3
  143. package/examples/page-layout-edge-case-using-legacy-vars.tsx +0 -3
  144. package/examples/page-layout-full-screen.tsx +0 -251
  145. package/examples/page-layout-implicit-rows.tsx +0 -33
  146. package/examples/page-layout-main-aside-scrollable.tsx +0 -3
  147. package/examples/page-layout-main-aside.tsx +0 -3
  148. package/examples/page-layout-panel-aside-default-widths.tsx +0 -241
  149. package/examples/page-layout-resizable-rtl.tsx +0 -3
  150. package/examples/page-layout-resizable.tsx +0 -3
  151. package/examples/page-layout-side-nav-collapse-shortcut.tsx +0 -47
  152. package/examples/page-layout-side-nav-content-scroll-with-sticky.tsx +0 -135
  153. package/examples/page-layout-side-nav-custom-width-greater-than-max.tsx +0 -3
  154. package/examples/page-layout-side-nav-custom-width-smaller-than-min.tsx +0 -3
  155. package/examples/page-layout-side-nav-main-aside-scrollable.tsx +0 -3
  156. package/examples/page-layout-side-nav-main-aside.tsx +0 -3
  157. package/examples/page-layout-side-nav-onboarding.tsx +0 -155
  158. package/examples/page-layout-side-nav-overflowing-children.tsx +0 -3
  159. package/examples/page-layout-side-nav-slots.tsx +0 -173
  160. package/examples/page-layout-side-nav-with-menu-items.tsx +0 -3
  161. package/examples/page-layout-top-bar-side-nav-main-aside-scrollable.tsx +0 -3
  162. package/examples/page-layout-top-bar-side-nav-main-aside.tsx +0 -3
  163. package/examples/page-layout-top-bar-side-nav-main-scrollable.tsx +0 -3
  164. package/examples/page-layout-top-bar-side-nav-main.tsx +0 -3
  165. package/examples/page-layout.tsx +0 -941
  166. package/examples/panel-splitter.tsx +0 -199
  167. package/examples/resizable-slots.tsx +0 -357
  168. package/examples/side-nav-flyout.tsx +0 -256
  169. package/examples/stand-alone-iframe.tsx +0 -23
  170. package/examples/temp-icons/app-switcher-legacy.tsx +0 -14
  171. package/examples/temp-icons/atlassian-intelligence.tsx +0 -14
  172. package/examples/temp-icons/help.tsx +0 -18
  173. package/examples/temp-icons/menu.tsx +0 -14
  174. package/examples/temp-icons/settings.tsx +0 -14
  175. package/examples/top-level-spacer.tsx +0 -55
  176. package/examples/top-nav-custom-profile-image.tsx +0 -71
  177. package/examples/top-nav-side-nav-collapsed.tsx +0 -74
  178. package/examples/top-nav-with-long-name.tsx +0 -63
  179. package/examples/top-nav-with-temp-nav-app-icon-app-logo.tsx +0 -65
  180. package/examples/top-nav-with-temp-nav-app-icon-custom-logo.tsx +0 -63
  181. package/examples/top-navigation-custom-logo.tsx +0 -108
  182. package/examples/top-navigation-stress.tsx +0 -244
  183. package/examples/top-navigation-themed-buttons.tsx +0 -63
  184. package/examples/top-navigation-theming-logged-out.tsx +0 -75
  185. package/examples/top-navigation-theming-with-picker.tsx +0 -128
  186. package/examples/top-navigation-theming.tsx +0 -197
  187. package/examples/top-navigation.tsx +0 -126
  188. package/examples/utils/example-utils.tsx +0 -14
  189. package/examples/utils/long-placeholder-content.tsx +0 -161
  190. package/examples/utils/mock-root.tsx +0 -19
  191. package/examples/utils/mock-search.tsx +0 -67
  192. package/src/__tests__/informational-vr-tests/__snapshots__/layering/layers-in-main-slot--desktop--platform-dst-nav4-layering-in-main-slot-fixes-false.png +0 -0
  193. package/src/__tests__/informational-vr-tests/__snapshots__/layering/layers-in-main-slot--desktop--platform-dst-nav4-layering-in-main-slot-fixes-true.png +0 -0
  194. package/src/__tests__/informational-vr-tests/__snapshots__/layering/layers-in-main-slot-short-viewport--desktop--platform-dst-nav4-layering-in-main-slot-fixes-false.png +0 -0
  195. package/src/__tests__/informational-vr-tests/__snapshots__/layering/layers-in-main-slot-short-viewport--desktop--platform-dst-nav4-layering-in-main-slot-fixes-true.png +0 -0
  196. package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile--mobile.png +0 -0
  197. package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile-without-panel--mobile.png +0 -0
  198. package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items---nested-menu-item-selected--default.png +0 -0
  199. package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items---scrolled-to-the-end--default.png +0 -0
  200. package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items--default.png +0 -0
  201. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-chrome.png +0 -0
  202. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-firefox.png +0 -0
  203. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-webkit.png +0 -0
  204. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-chrome.png +0 -0
  205. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-firefox.png +0 -0
  206. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-webkit.png +0 -0
  207. package/src/__tests__/informational-vr-tests/layering.vr.tsx +0 -76
  208. package/src/__tests__/informational-vr-tests/menu-items-deeply-nested.vr.tsx +0 -33
  209. package/src/__tests__/informational-vr-tests/sidebar-drag-and-drop.vr.tsx +0 -100
  210. package/src/__tests__/playwright/drag-and-drop-in-the-sidebar-flyout.spec.tsx +0 -235
  211. package/src/__tests__/playwright/expandable-menu-item.spec.tsx +0 -20
  212. package/src/__tests__/playwright/flyout-menu-item.spec.tsx +0 -22
  213. package/src/__tests__/playwright/legacy-vars.spec.tsx +0 -298
  214. package/src/__tests__/playwright/menu-item-in-sidebar-drag-and-drop.spec.tsx +0 -70
  215. package/src/__tests__/playwright/page-layout.spec.tsx +0 -23
  216. package/src/__tests__/playwright/panel.spec.tsx +0 -241
  217. package/src/__tests__/playwright/resizing.spec.tsx +0 -541
  218. package/src/__tests__/playwright/side-nav-flyout.spec.tsx +0 -223
  219. package/src/__tests__/playwright/side-nav-responsiveness.spec.tsx +0 -208
  220. package/src/__tests__/playwright/skip-links.spec.tsx +0 -111
  221. package/src/__tests__/playwright/top-nav-end.spec.tsx +0 -96
  222. package/src/__tests__/vr-tests/__snapshots__/a11y-scaling/app--desktop.png +0 -0
  223. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop-large.png +0 -0
  224. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop.png +0 -0
  225. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--mobile.png +0 -0
  226. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop-large.png +0 -0
  227. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop.png +0 -0
  228. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--mobile.png +0 -0
  229. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large-splitter.png +0 -0
  230. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large.png +0 -0
  231. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop.png +0 -0
  232. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--mobile.png +0 -0
  233. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop-large.png +0 -0
  234. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop.png +0 -0
  235. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--mobile.png +0 -0
  236. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop-large.png +0 -0
  237. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop.png +0 -0
  238. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--mobile.png +0 -0
  239. package/src/__tests__/vr-tests/__snapshots__/skip-links/skip-links--light-mode.png +0 -0
  240. package/src/__tests__/vr-tests/a11y-scaling.vr.tsx +0 -12
  241. package/src/__tests__/vr-tests/layering.vr.tsx +0 -82
  242. package/src/__tests__/vr-tests/skip-links.vr.tsx +0 -14
  243. package/src/components/__tests__/unit/badge-container.test.tsx +0 -62
  244. package/src/components/__tests__/unit/list.test.tsx +0 -74
  245. package/src/components/badge-container.tsx +0 -72
  246. package/src/components/forward-ref-with-generic.tsx +0 -8
  247. package/src/components/list-item.tsx +0 -39
  248. package/src/components/list.tsx +0 -44
  249. package/src/components/skip-links/__tests__/unit/skip-links-container.test.tsx +0 -411
  250. package/src/components/skip-links/skip-link.tsx +0 -140
  251. package/src/components/skip-links/skip-links-container.tsx +0 -112
  252. package/src/context/skip-links/skip-links-context.tsx +0 -74
  253. package/src/context/skip-links/skip-links-data-context.tsx +0 -41
  254. package/src/context/skip-links/skip-links-provider.tsx +0 -74
  255. package/src/context/skip-links/types.tsx +0 -29
  256. package/src/context/top-nav-start/top-nav-start-context-provider.tsx +0 -26
  257. package/src/context/top-nav-start/top-nav-start-context.tsx +0 -21
  258. package/src/entry-points/experimental/color-utils/parse-hex.tsx +0 -1
  259. package/src/entry-points/experimental/color-utils/parse-hsl.tsx +0 -1
  260. package/src/entry-points/experimental/color-utils/parse-rgb.tsx +0 -1
  261. package/src/entry-points/experimental/color-utils/parse-user-color.tsx +0 -1
  262. package/src/entry-points/experimental/top-nav-button.tsx +0 -6
  263. package/src/entry-points/experimental/use-has-custom-theme.tsx +0 -1
  264. package/src/entry-points/experimental/use-legacy-search-theme.tsx +0 -1
  265. package/src/entry-points/layout/aside.tsx +0 -1
  266. package/src/entry-points/layout/banner.tsx +0 -1
  267. package/src/entry-points/layout/main.tsx +0 -7
  268. package/src/entry-points/layout/panel-splitter.tsx +0 -3
  269. package/src/entry-points/layout/panel.tsx +0 -1
  270. package/src/entry-points/layout/root.tsx +0 -1
  271. package/src/entry-points/layout/side-nav.tsx +0 -7
  272. package/src/entry-points/layout/skip-links.tsx +0 -2
  273. package/src/entry-points/layout/top-nav.tsx +0 -4
  274. package/src/entry-points/side-nav-items/button-menu-item.tsx +0 -3
  275. package/src/entry-points/side-nav-items/container-avatar.tsx +0 -1
  276. package/src/entry-points/side-nav-items/drag-and-drop/drag-preview.tsx +0 -1
  277. package/src/entry-points/side-nav-items/drag-and-drop/drop-indicator.tsx +0 -5
  278. package/src/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.tsx +0 -1
  279. package/src/entry-points/side-nav-items/drag-and-drop/hitbox.tsx +0 -7
  280. package/src/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.tsx +0 -4
  281. package/src/entry-points/side-nav-items/expandable-menu-item.tsx +0 -13
  282. package/src/entry-points/side-nav-items/flyout-menu-item.tsx +0 -13
  283. package/src/entry-points/side-nav-items/link-menu-item.tsx +0 -3
  284. package/src/entry-points/side-nav-items/menu-list-item.tsx +0 -1
  285. package/src/entry-points/side-nav-items/menu-list.tsx +0 -1
  286. package/src/entry-points/side-nav-items/menu-section.tsx +0 -3
  287. package/src/entry-points/side-nav-items/top-level-spacer.tsx +0 -1
  288. package/src/entry-points/top-nav-items/create-button.tsx +0 -1
  289. package/src/entry-points/top-nav-items/custom-title.tsx +0 -1
  290. package/src/entry-points/top-nav-items/help.tsx +0 -1
  291. package/src/entry-points/top-nav-items/index.tsx +0 -14
  292. package/src/entry-points/top-nav-items/log-in.tsx +0 -1
  293. package/src/entry-points/top-nav-items/notifications.tsx +0 -1
  294. package/src/entry-points/top-nav-items/profile.tsx +0 -1
  295. package/src/entry-points/top-nav-items/settings.tsx +0 -1
  296. package/src/index.tsx +0 -74
  297. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/long-content-after-short-skeleton--default.png +0 -0
  298. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/long-skeleton--default.png +0 -0
  299. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/short-content-after-long-skeleton--default.png +0 -0
  300. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/short-skeleton--default.png +0 -0
  301. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/button-menu-item---disabled---pressed--default.png +0 -0
  302. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/button-menu-item---pressed--default.png +0 -0
  303. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---not-selectable---pressed--default.png +0 -0
  304. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---selectable---pressed--default.png +0 -0
  305. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---selected---pressed--default.png +0 -0
  306. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/flyout-menu-item---pressed--default.png +0 -0
  307. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/flyout-menu-item---selected---pressed--default.png +0 -0
  308. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---pressed--default.png +0 -0
  309. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-chrome.png +0 -0
  310. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-firefox.png +0 -0
  311. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-safari.png +0 -0
  312. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---selected---pressed--default.png +0 -0
  313. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-click-target---desktop-chrome.png +0 -0
  314. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-click-target---desktop-firefox.png +0 -0
  315. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-click-target---desktop-webkit.png +0 -0
  316. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-hover---desktop-chrome.png +0 -0
  317. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-hover---desktop-firefox.png +0 -0
  318. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-hover---desktop-webkit.png +0 -0
  319. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-too-far-back---desktop-chrome.png +0 -0
  320. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-too-far-back---desktop-firefox.png +0 -0
  321. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-too-far-back---desktop-webkit.png +0 -0
  322. package/src/ui/menu-item/__tests__/informational-vr-tests/flyout-menu-item-async-content.vr.tsx +0 -33
  323. package/src/ui/menu-item/__tests__/informational-vr-tests/menu-item-increased-hitbox.vr.tsx +0 -79
  324. package/src/ui/menu-item/__tests__/informational-vr-tests/menu-item.vr.tsx +0 -151
  325. package/src/ui/menu-item/__tests__/playwright/flyout-menu-item.spec.tsx +0 -38
  326. package/src/ui/menu-item/__tests__/playwright/scroll-into-view.spec.tsx +0 -91
  327. package/src/ui/menu-item/__tests__/unit/_util.tsx +0 -40
  328. package/src/ui/menu-item/__tests__/unit/expandable-menu-item.test.tsx +0 -1119
  329. package/src/ui/menu-item/__tests__/unit/flyout-menu-item.test.tsx +0 -545
  330. package/src/ui/menu-item/__tests__/unit/menu-item.test.tsx +0 -649
  331. package/src/ui/menu-item/__tests__/unit/top-level-spacer.test.tsx +0 -94
  332. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item--desktop-chrome.png +0 -0
  333. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item--desktop-webkit.png +0 -0
  334. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-combine--desktop-chrome.png +0 -0
  335. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-combine--desktop-webkit.png +0 -0
  336. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-after--desktop-chrome.png +0 -0
  337. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-after--desktop-webkit.png +0 -0
  338. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-before--desktop-chrome.png +0 -0
  339. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-before--desktop-webkit.png +0 -0
  340. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-combine--desktop-chrome.png +0 -0
  341. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-combine--desktop-webkit.png +0 -0
  342. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-after--desktop-chrome.png +0 -0
  343. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-after--desktop-webkit.png +0 -0
  344. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-before--desktop-chrome.png +0 -0
  345. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-before--desktop-webkit.png +0 -0
  346. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-trigger--desktop-chrome.png +0 -0
  347. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-trigger--desktop-webkit.png +0 -0
  348. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-combine--desktop-chrome.png +0 -0
  349. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-combine--desktop-webkit.png +0 -0
  350. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-after--desktop-chrome.png +0 -0
  351. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-after--desktop-webkit.png +0 -0
  352. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-before--desktop-chrome.png +0 -0
  353. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-before--desktop-webkit.png +0 -0
  354. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-trigger--desktop-chrome.png +0 -0
  355. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-trigger--desktop-webkit.png +0 -0
  356. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item--desktop-chrome.png +0 -0
  357. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item--desktop-webkit.png +0 -0
  358. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine--desktop-chrome.png +0 -0
  359. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine--desktop-webkit.png +0 -0
  360. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine-blocked--desktop-chrome.png +0 -0
  361. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine-blocked--desktop-webkit.png +0 -0
  362. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after--desktop-chrome.png +0 -0
  363. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after--desktop-webkit.png +0 -0
  364. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after-blocked--desktop-chrome.png +0 -0
  365. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after-blocked--desktop-webkit.png +0 -0
  366. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before--desktop-chrome.png +0 -0
  367. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before--desktop-webkit.png +0 -0
  368. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before-blocked--desktop-chrome.png +0 -0
  369. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before-blocked--desktop-webkit.png +0 -0
  370. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---action-focused--default.png +0 -0
  371. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---action-hovered--default.png +0 -0
  372. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---default-state--default.png +0 -0
  373. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---elembefore-focused--default.png +0 -0
  374. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---elembefore-hovered--default.png +0 -0
  375. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---menu-item-focused--default.png +0 -0
  376. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---menu-item-hovered--default.png +0 -0
  377. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---selected-with-dropdown-action-open--default.png +0 -0
  378. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---with-dropdown-action-open--default.png +0 -0
  379. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---with-dropdown-action-open-and-hovered--default.png +0 -0
  380. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-collapsed-with-selected-child--default.png +0 -0
  381. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-actions-on-hover--default.png +0 -0
  382. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-actions-on-hover-and-elem-after--default.png +0 -0
  383. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-elem-after--default.png +0 -0
  384. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-nested--default.png +0 -0
  385. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-nested-rtl--default.png +0 -0
  386. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-selected--default.png +0 -0
  387. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-selected-with-icon--default.png +0 -0
  388. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions--default.png +0 -0
  389. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover---hovered--default.png +0 -0
  390. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover---selected-and-hovered--default.png +0 -0
  391. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover--default.png +0 -0
  392. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover-and-elem-after---hovered--default.png +0 -0
  393. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover-and-elem-after--default.png +0 -0
  394. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/a-flyout-menu-with-a-nested-popup-using-shouldrendertoparent---default.png +0 -0
  395. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-example--default.png +0 -0
  396. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-rtl--default.png +0 -0
  397. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-selected-vr--default.png +0 -0
  398. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-example--default.png +0 -0
  399. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-rtl--default.png +0 -0
  400. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-chrome.png +0 -0
  401. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-firefox.png +0 -0
  402. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-webkit.png +0 -0
  403. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-chrome.png +0 -0
  404. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-firefox.png +0 -0
  405. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-webkit.png +0 -0
  406. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-chrome.png +0 -0
  407. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-firefox.png +0 -0
  408. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-webkit.png +0 -0
  409. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-chrome.png +0 -0
  410. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-firefox.png +0 -0
  411. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-webkit.png +0 -0
  412. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-chrome.png +0 -0
  413. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-firefox.png +0 -0
  414. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-webkit.png +0 -0
  415. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-chrome.png +0 -0
  416. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-firefox.png +0 -0
  417. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-webkit.png +0 -0
  418. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-focus--desktop-chrome.png +0 -0
  419. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-focus--desktop-firefox.png +0 -0
  420. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-focus--desktop-webkit.png +0 -0
  421. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-hover--desktop-chrome.png +0 -0
  422. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-hover--desktop-firefox.png +0 -0
  423. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-hover--desktop-webkit.png +0 -0
  424. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-chrome.png +0 -0
  425. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-firefox.png +0 -0
  426. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-webkit.png +0 -0
  427. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-chrome.png +0 -0
  428. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-firefox.png +0 -0
  429. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-webkit.png +0 -0
  430. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-chrome.png +0 -0
  431. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-firefox.png +0 -0
  432. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-webkit.png +0 -0
  433. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-chrome.png +0 -0
  434. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-firefox.png +0 -0
  435. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-webkit.png +0 -0
  436. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-chrome.png +0 -0
  437. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-firefox.png +0 -0
  438. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-webkit.png +0 -0
  439. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-chrome.png +0 -0
  440. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-firefox.png +0 -0
  441. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-webkit.png +0 -0
  442. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-focus--desktop-chrome.png +0 -0
  443. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-focus--desktop-firefox.png +0 -0
  444. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-focus--desktop-webkit.png +0 -0
  445. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-hover--desktop-chrome.png +0 -0
  446. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-hover--desktop-firefox.png +0 -0
  447. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-hover--desktop-webkit.png +0 -0
  448. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-chrome.png +0 -0
  449. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-firefox.png +0 -0
  450. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-webkit.png +0 -0
  451. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-chrome.png +0 -0
  452. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-firefox.png +0 -0
  453. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-webkit.png +0 -0
  454. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-chrome.png +0 -0
  455. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-firefox.png +0 -0
  456. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-webkit.png +0 -0
  457. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-long---default.png +0 -0
  458. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-none---default.png +0 -0
  459. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-short---default.png +0 -0
  460. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-long---default.png +0 -0
  461. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-none---default.png +0 -0
  462. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-short---default.png +0 -0
  463. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item-add-action-button--default.png +0 -0
  464. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item-with-tooltip-disabled--default.png +0 -0
  465. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item--content-long---default.png +0 -0
  466. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item--content-short---default.png +0 -0
  467. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item-with-tooltip-disabled--default.png +0 -0
  468. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item--content-long---default.png +0 -0
  469. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item--content-short---default.png +0 -0
  470. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item-with-tooltip-disabled--default.png +0 -0
  471. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-long---default.png +0 -0
  472. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-none---default.png +0 -0
  473. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-short---default.png +0 -0
  474. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-long---default.png +0 -0
  475. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-none---default.png +0 -0
  476. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-short---default.png +0 -0
  477. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item-with-tooltip-disabled--default.png +0 -0
  478. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/menu-item-button-with-nested-children--default.png +0 -0
  479. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/top-level-spacer/top-level-spacer-example--default.png +0 -0
  480. package/src/ui/menu-item/__tests__/vr-tests/drag-and-drop.vr.tsx +0 -172
  481. package/src/ui/menu-item/__tests__/vr-tests/expandable.vr.tsx +0 -248
  482. package/src/ui/menu-item/__tests__/vr-tests/flyout-menu-item.vr.tsx +0 -46
  483. package/src/ui/menu-item/__tests__/vr-tests/menu-item-conditional-tooltip.vr.tsx +0 -312
  484. package/src/ui/menu-item/__tests__/vr-tests/menu-item.vr.tsx +0 -210
  485. package/src/ui/menu-item/__tests__/vr-tests/top-level-spacer.vr.tsx +0 -17
  486. package/src/ui/menu-item/button-menu-item.tsx +0 -87
  487. package/src/ui/menu-item/constants.tsx +0 -15
  488. package/src/ui/menu-item/container-avatar.tsx +0 -39
  489. package/src/ui/menu-item/drag-and-drop/drag-preview.tsx +0 -98
  490. package/src/ui/menu-item/drag-and-drop/drop-indicator.tsx +0 -11
  491. package/src/ui/menu-item/drag-and-drop/group-drop-indicator.tsx +0 -7
  492. package/src/ui/menu-item/drag-and-drop/hitbox.tsx +0 -13
  493. package/src/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.tsx +0 -243
  494. package/src/ui/menu-item/drag-handle.tsx +0 -42
  495. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-content.tsx +0 -84
  496. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-context.tsx +0 -61
  497. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.tsx +0 -9
  498. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.tsx +0 -334
  499. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item.tsx +0 -114
  500. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-content.tsx +0 -188
  501. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-context.tsx +0 -19
  502. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.tsx +0 -124
  503. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item.tsx +0 -98
  504. package/src/ui/menu-item/link-menu-item.tsx +0 -119
  505. package/src/ui/menu-item/menu-item-signals.tsx +0 -6
  506. package/src/ui/menu-item/menu-item.tsx +0 -848
  507. package/src/ui/menu-item/menu-list-item.tsx +0 -12
  508. package/src/ui/menu-item/menu-list.tsx +0 -12
  509. package/src/ui/menu-item/top-level-spacer.tsx +0 -49
  510. package/src/ui/menu-item/types.tsx +0 -181
  511. package/src/ui/menu-item/use-scroll-menu-item-into-view.tsx +0 -78
  512. package/src/ui/menu-section/__tests__/unit/menu-section.test.tsx +0 -96
  513. package/src/ui/menu-section/__tests__/vr-tests/__snapshots__/divider/divider--default.png +0 -0
  514. package/src/ui/menu-section/__tests__/vr-tests/__snapshots__/menu-section/menu-section-example--default.png +0 -0
  515. package/src/ui/menu-section/__tests__/vr-tests/divider.vr.tsx +0 -14
  516. package/src/ui/menu-section/__tests__/vr-tests/menu-section.vr.tsx +0 -14
  517. package/src/ui/menu-section/divider.tsx +0 -33
  518. package/src/ui/menu-section/menu-section-context.tsx +0 -15
  519. package/src/ui/menu-section/menu-section-heading.tsx +0 -43
  520. package/src/ui/menu-section/menu-section.tsx +0 -70
  521. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/large-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-false.png +0 -0
  522. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/large-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-true.png +0 -0
  523. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/small-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-false.png +0 -0
  524. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/small-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-true.png +0 -0
  525. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-false.png +0 -0
  526. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-true.png +0 -0
  527. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-false.png +0 -0
  528. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-true.png +0 -0
  529. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-false.png +0 -0
  530. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-true.png +0 -0
  531. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-false.png +0 -0
  532. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-true.png +0 -0
  533. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-false.png +0 -0
  534. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-true.png +0 -0
  535. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-false.png +0 -0
  536. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-true.png +0 -0
  537. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg---composition--firefox.png +0 -0
  538. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg---with-min-widths--firefox.png +0 -0
  539. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg--firefox.png +0 -0
  540. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md---composition--firefox.png +0 -0
  541. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md---with-min-widths--firefox.png +0 -0
  542. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md--firefox.png +0 -0
  543. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-sm---with-min-widths--firefox.png +0 -0
  544. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-sm--firefox.png +0 -0
  545. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl---composition--firefox.png +0 -0
  546. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl---with-min-widths--firefox.png +0 -0
  547. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl--firefox.png +0 -0
  548. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xs---with-min-widths--firefox.png +0 -0
  549. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xs--firefox.png +0 -0
  550. package/src/ui/page-layout/__tests__/informational-vr-tests/page-layout.vr.tsx +0 -53
  551. package/src/ui/page-layout/__tests__/informational-vr-tests/slot-borders.vr.tsx +0 -54
  552. package/src/ui/page-layout/__tests__/informational-vr-tests/top-nav.vr.tsx +0 -170
  553. package/src/ui/page-layout/__tests__/unit/_test-utils.tsx +0 -185
  554. package/src/ui/page-layout/__tests__/unit/aside.test.tsx +0 -21
  555. package/src/ui/page-layout/__tests__/unit/banner.test.tsx +0 -31
  556. package/src/ui/page-layout/__tests__/unit/get-width.test.tsx +0 -12
  557. package/src/ui/page-layout/__tests__/unit/hoist-utils.test.tsx +0 -85
  558. package/src/ui/page-layout/__tests__/unit/page-layout.test.tsx +0 -300
  559. package/src/ui/page-layout/__tests__/unit/panel-splitter-and-suspense.test.tsx +0 -43
  560. package/src/ui/page-layout/__tests__/unit/panel-splitter.test.tsx +0 -885
  561. package/src/ui/page-layout/__tests__/unit/panel.test.tsx +0 -63
  562. package/src/ui/page-layout/__tests__/unit/react-safety.test.tsx +0 -30
  563. package/src/ui/page-layout/__tests__/unit/resizing.test.tsx +0 -714
  564. package/src/ui/page-layout/__tests__/unit/side-nav-flyout.test.tsx +0 -1154
  565. package/src/ui/page-layout/__tests__/unit/side-nav.test.tsx +0 -771
  566. package/src/ui/page-layout/__tests__/unit/sticky-header.test.tsx +0 -43
  567. package/src/ui/page-layout/__tests__/unit/top-nav-end.test.tsx +0 -132
  568. package/src/ui/page-layout/__tests__/unit/top-nav.test.tsx +0 -28
  569. package/src/ui/page-layout/__tests__/unit/use-expand-side-nav.test.tsx +0 -278
  570. package/src/ui/page-layout/__tests__/unit/use-toggle-side-nav.test.tsx +0 -233
  571. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled--desktop.png +0 -0
  572. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled--mobile.png +0 -0
  573. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled-side-nav-collapsed--desktop.png +0 -0
  574. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled-side-nav-collapsed--mobile.png +0 -0
  575. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled--desktop.png +0 -0
  576. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled--mobile.png +0 -0
  577. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-full-screen-mode--desktop.png +0 -0
  578. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-full-screen-mode--mobile.png +0 -0
  579. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-side-nav-collapsed--desktop.png +0 -0
  580. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-side-nav-collapsed--mobile.png +0 -0
  581. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots--desktop.png +0 -0
  582. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots--mobile.png +0 -0
  583. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-banner-height-zero--desktop.png +0 -0
  584. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-banner-height-zero--mobile.png +0 -0
  585. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-custom-sizes--desktop.png +0 -0
  586. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-custom-sizes--mobile.png +0 -0
  587. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-rtl--desktop.png +0 -0
  588. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-rtl--mobile.png +0 -0
  589. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable--desktop.png +0 -0
  590. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable--mobile.png +0 -0
  591. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/aside-composed-with-border--desktop.png +0 -0
  592. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/aside-composed-with-border--mobile.png +0 -0
  593. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned--desktop.png +0 -0
  594. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned--mobile.png +0 -0
  595. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-collapsed--desktop.png +0 -0
  596. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-collapsed--mobile.png +0 -0
  597. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-custom-sizes--desktop.png +0 -0
  598. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-custom-sizes--mobile.png +0 -0
  599. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-panel-visible--desktop.png +0 -0
  600. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-panel-visible--mobile.png +0 -0
  601. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-resizable--desktop.png +0 -0
  602. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-resizable--mobile.png +0 -0
  603. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-using-legacy-vars--desktop.png +0 -0
  604. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-using-legacy-vars--mobile.png +0 -0
  605. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside--desktop.png +0 -0
  606. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside--mobile.png +0 -0
  607. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable--desktop.png +0 -0
  608. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable--mobile.png +0 -0
  609. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/page-layout-implicit-rows--desktop.png +0 -0
  610. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/page-layout-implicit-rows--mobile.png +0 -0
  611. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---default-widths--desktop.png +0 -0
  612. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---default-widths--mobile.png +0 -0
  613. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---zero-widths--desktop.png +0 -0
  614. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---zero-widths--mobile.png +0 -0
  615. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-default-background-color--desktop.png +0 -0
  616. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-default-background-color--mobile.png +0 -0
  617. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-should-have-correct-width-when-there-is-no-sidenav-mounted--desktop.png +0 -0
  618. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/resizable--desktop.png +0 -0
  619. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-content-slot---scroll-with-sticky-child--desktop.png +0 -0
  620. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-custom-width-greater-than-max-width--desktop.png +0 -0
  621. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-custom-width-smaller-than-min-width--desktop.png +0 -0
  622. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside--desktop.png +0 -0
  623. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside--mobile.png +0 -0
  624. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable--desktop.png +0 -0
  625. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable--mobile.png +0 -0
  626. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-overflowing-children--desktop.png +0 -0
  627. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-slots--desktop.png +0 -0
  628. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-with-menu-items--desktop.png +0 -0
  629. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-with-menu-items--mobile.png +0 -0
  630. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main--desktop.png +0 -0
  631. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main--mobile.png +0 -0
  632. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside--desktop.png +0 -0
  633. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside--mobile.png +0 -0
  634. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable--desktop.png +0 -0
  635. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable--mobile.png +0 -0
  636. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable--desktop.png +0 -0
  637. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable--mobile.png +0 -0
  638. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/focused-panel-splitter-with-position-end--default.png +0 -0
  639. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/focused-panel-splitter-with-position-start--default.png +0 -0
  640. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-end--default--platform-nav4-panel-splitter-keyboard-a11y-false.png +0 -0
  641. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-end--default--platform-nav4-panel-splitter-keyboard-a11y-true.png +0 -0
  642. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-start--default--platform-nav4-panel-splitter-keyboard-a11y-false.png +0 -0
  643. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-start--default--platform-nav4-panel-splitter-keyboard-a11y-true.png +0 -0
  644. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed--desktop.png +0 -0
  645. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed--mobile.png +0 -0
  646. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-toggle-button-hovered--desktop.png +0 -0
  647. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-toggle-button-hovered--mobile.png +0 -0
  648. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer--desktop.png +0 -0
  649. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer--mobile.png +0 -0
  650. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer-toggle-button-hovered--desktop.png +0 -0
  651. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer-toggle-button-hovered--mobile.png +0 -0
  652. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded--desktop.png +0 -0
  653. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded--mobile.png +0 -0
  654. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-toggle-button-hovered--desktop.png +0 -0
  655. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-toggle-button-hovered--mobile.png +0 -0
  656. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer--desktop.png +0 -0
  657. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer--mobile.png +0 -0
  658. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer-toggle-button-hovered--desktop.png +0 -0
  659. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer-toggle-button-hovered--mobile.png +0 -0
  660. package/src/ui/page-layout/__tests__/vr-tests/main-content-border.vr.tsx +0 -47
  661. package/src/ui/page-layout/__tests__/vr-tests/page-layout.vr.tsx +0 -266
  662. package/src/ui/page-layout/__tests__/vr-tests/panel-splitter.vr.tsx +0 -72
  663. package/src/ui/page-layout/__tests__/vr-tests/side-nav-flyout.vr.tsx +0 -170
  664. package/src/ui/page-layout/aside.tsx +0 -210
  665. package/src/ui/page-layout/banner.tsx +0 -91
  666. package/src/ui/page-layout/constants.tsx +0 -56
  667. package/src/ui/page-layout/hoist-slot-sizes-context.tsx +0 -7
  668. package/src/ui/page-layout/hoist-utils.tsx +0 -64
  669. package/src/ui/page-layout/id-utils.tsx +0 -33
  670. package/src/ui/page-layout/main/main-sticky-header.tsx +0 -45
  671. package/src/ui/page-layout/main/main.tsx +0 -93
  672. package/src/ui/page-layout/panel-splitter/context.tsx +0 -60
  673. package/src/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.tsx +0 -20
  674. package/src/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.tsx +0 -35
  675. package/src/ui/page-layout/panel-splitter/get-width.tsx +0 -33
  676. package/src/ui/page-layout/panel-splitter/keyboard-resize-manager.tsx +0 -89
  677. package/src/ui/page-layout/panel-splitter/panel-splitter.tsx +0 -560
  678. package/src/ui/page-layout/panel-splitter/provider.tsx +0 -66
  679. package/src/ui/page-layout/panel-splitter/types.tsx +0 -25
  680. package/src/ui/page-layout/panel.tsx +0 -308
  681. package/src/ui/page-layout/root.tsx +0 -162
  682. package/src/ui/page-layout/side-nav/element-context.tsx +0 -18
  683. package/src/ui/page-layout/side-nav/flyout-close-delay-ms.tsx +0 -12
  684. package/src/ui/page-layout/side-nav/side-nav-content.tsx +0 -57
  685. package/src/ui/page-layout/side-nav/side-nav-footer.tsx +0 -48
  686. package/src/ui/page-layout/side-nav/side-nav-header.tsx +0 -32
  687. package/src/ui/page-layout/side-nav/side-nav.tsx +0 -876
  688. package/src/ui/page-layout/side-nav/toggle-button-context.tsx +0 -21
  689. package/src/ui/page-layout/side-nav/toggle-button-provider.tsx +0 -28
  690. package/src/ui/page-layout/side-nav/toggle-button.tsx +0 -166
  691. package/src/ui/page-layout/side-nav/types.tsx +0 -18
  692. package/src/ui/page-layout/side-nav/use-expand-side-nav.tsx +0 -57
  693. package/src/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.tsx +0 -75
  694. package/src/ui/page-layout/side-nav/use-side-nav-visibility.tsx +0 -43
  695. package/src/ui/page-layout/side-nav/use-toggle-side-nav.tsx +0 -47
  696. package/src/ui/page-layout/side-nav/visibility-context.tsx +0 -17
  697. package/src/ui/page-layout/side-nav/visibility-provider.tsx +0 -20
  698. package/src/ui/page-layout/top-nav/top-nav-end.tsx +0 -155
  699. package/src/ui/page-layout/top-nav/top-nav-middle.tsx +0 -90
  700. package/src/ui/page-layout/top-nav/top-nav-start.tsx +0 -82
  701. package/src/ui/page-layout/top-nav/top-nav.tsx +0 -127
  702. package/src/ui/page-layout/types.tsx +0 -20
  703. package/src/ui/page-layout/use-resizing-width-css-var-on-root-element.tsx +0 -70
  704. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/long-product-name-tooltip--default.png +0 -0
  705. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover---custom-theming--desktop.png +0 -0
  706. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover---custom-theming--mobile.png +0 -0
  707. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover--desktop.png +0 -0
  708. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover--mobile.png +0 -0
  709. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed---custom-theming--desktop.png +0 -0
  710. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed---custom-theming--mobile.png +0 -0
  711. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed--desktop.png +0 -0
  712. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed--mobile.png +0 -0
  713. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/responsive-menu-items--mobile.png +0 -0
  714. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/responsive-menu-items-on-click--mobile.png +0 -0
  715. package/src/ui/top-nav-items/__tests__/informational-vr-tests/top-navigation.vr.tsx +0 -120
  716. package/src/ui/top-nav-items/__tests__/playwright/theming.spec.tsx +0 -21
  717. package/src/ui/top-nav-items/__tests__/unit/chat-button.test.tsx +0 -40
  718. package/src/ui/top-nav-items/__tests__/unit/create-button.test.tsx +0 -34
  719. package/src/ui/top-nav-items/__tests__/unit/end-item.test.tsx +0 -43
  720. package/src/ui/top-nav-items/__tests__/unit/help.test.tsx +0 -101
  721. package/src/ui/top-nav-items/__tests__/unit/notifications.test.tsx +0 -63
  722. package/src/ui/top-nav-items/__tests__/unit/profile.test.tsx +0 -65
  723. package/src/ui/top-nav-items/__tests__/unit/settings.test.tsx +0 -51
  724. package/src/ui/top-nav-items/__tests__/unit/theming.test.tsx +0 -76
  725. package/src/ui/top-nav-items/__tests__/unit/top-nav-items.test.tsx +0 -181
  726. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/log-in-button--desktop.png +0 -0
  727. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/search-right-elem--default.png +0 -0
  728. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-an-hsl-color--desktop.png +0 -0
  729. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-an-rgb-color--desktop.png +0 -0
  730. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-customlogo--desktop.png +0 -0
  731. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-button-focus-state--default.png +0 -0
  732. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-button-hover-state--default.png +0 -0
  733. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-create-button-hover-state--desktop.png +0 -0
  734. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-link-button-focus-state--default.png +0 -0
  735. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-link-button-hover-state--default.png +0 -0
  736. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-search-focus-state--default.png +0 -0
  737. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theming-is-enabled--desktop.png +0 -0
  738. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-custom-profile-image--default.png +0 -0
  739. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-side-nav-collapsed--desktop.png +0 -0
  740. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-side-nav-collapsed--mobile.png +0 -0
  741. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-example--desktop.png +0 -0
  742. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-example--mobile.png +0 -0
  743. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x200example--desktop.png +0 -0
  744. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x200example--mobile.png +0 -0
  745. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x20example--desktop.png +0 -0
  746. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x20example--mobile.png +0 -0
  747. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x200example--desktop.png +0 -0
  748. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x200example--mobile.png +0 -0
  749. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x20example--desktop.png +0 -0
  750. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x20example--mobile.png +0 -0
  751. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--desktop.png +0 -0
  752. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--mobile.png +0 -0
  753. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-with-a-large-search-input-in-focus-state--default.png +0 -0
  754. package/src/ui/top-nav-items/__tests__/vr-tests/top-navigation.vr.tsx +0 -160
  755. package/src/ui/top-nav-items/app-switcher.tsx +0 -81
  756. package/src/ui/top-nav-items/chat-button.tsx +0 -49
  757. package/src/ui/top-nav-items/create-button.tsx +0 -51
  758. package/src/ui/top-nav-items/custom-title.tsx +0 -83
  759. package/src/ui/top-nav-items/end-item.tsx +0 -120
  760. package/src/ui/top-nav-items/help.tsx +0 -69
  761. package/src/ui/top-nav-items/log-in.tsx +0 -66
  762. package/src/ui/top-nav-items/nav-logo/app-logo.tsx +0 -203
  763. package/src/ui/top-nav-items/nav-logo/custom-logo.tsx +0 -252
  764. package/src/ui/top-nav-items/nav-logo/logo-renderer.tsx +0 -66
  765. package/src/ui/top-nav-items/notifications.tsx +0 -67
  766. package/src/ui/top-nav-items/profile.tsx +0 -26
  767. package/src/ui/top-nav-items/search.tsx +0 -124
  768. package/src/ui/top-nav-items/settings.tsx +0 -16
  769. package/src/ui/top-nav-items/themed/__tests__/unit/button.test.tsx +0 -57
  770. package/src/ui/top-nav-items/themed/__tests__/unit/use-custom-theme.test.tsx +0 -43
  771. package/src/ui/top-nav-items/themed/button.tsx +0 -576
  772. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/hex.test.tsx +0 -131
  773. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/hsl.test.tsx +0 -117
  774. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/rgb.test.tsx +0 -88
  775. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/try-parse-user-color.test.tsx +0 -35
  776. package/src/ui/top-nav-items/themed/color-utils/formats/hex.tsx +0 -47
  777. package/src/ui/top-nav-items/themed/color-utils/formats/hsl.tsx +0 -112
  778. package/src/ui/top-nav-items/themed/color-utils/formats/rgb.tsx +0 -41
  779. package/src/ui/top-nav-items/themed/color-utils/index.tsx +0 -111
  780. package/src/ui/top-nav-items/themed/color-utils/parse-user-color.tsx +0 -31
  781. package/src/ui/top-nav-items/themed/color-utils/types.tsx +0 -6
  782. package/src/ui/top-nav-items/themed/get-custom-theme-styles.tsx +0 -186
  783. package/src/ui/top-nav-items/themed/has-custom-theme-context.tsx +0 -13
  784. package/src/ui/top-nav-items/themed/migration.tsx +0 -70
  785. package/src/ui/top-nav-items/themed/palette.tsx +0 -53
  786. package/src/ui/top-nav-items/themed/search.tsx +0 -70
  787. package/src/ui/top-nav-items/themed/use-custom-theme.tsx +0 -51
  788. package/tsconfig.app.json +0 -91
  789. package/tsconfig.dev.json +0 -175
  790. package/tsconfig.json +0 -20
@@ -1,1119 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import { render, screen } from '@testing-library/react';
4
- import userEvent from '@testing-library/user-event';
5
-
6
- import { IconButton } from '@atlaskit/button/new';
7
- import AddIcon from '@atlaskit/icon/core/add';
8
- import HomeIcon from '@atlaskit/icon/core/home';
9
- import MoreIcon from '@atlaskit/icon/core/show-more-horizontal';
10
- import { ffTest } from '@atlassian/feature-flags-test-utils';
11
-
12
- import { ButtonMenuItem } from '../../button-menu-item';
13
- import { ExpandableMenuItem } from '../../expandable-menu-item/expandable-menu-item';
14
- import { ExpandableMenuItemContent } from '../../expandable-menu-item/expandable-menu-item-content';
15
- import { ExpandableMenuItemTrigger } from '../../expandable-menu-item/expandable-menu-item-trigger';
16
- import { MenuList } from '../../menu-list';
17
-
18
- jest.mock('@atlaskit/icon/core/chevron-right', () => ({
19
- __esModule: true,
20
- default: function ChevronDownIcon() {
21
- return <span data-testid="collapsed-icon" />;
22
- },
23
- }));
24
-
25
- jest.mock('@atlaskit/icon/core/chevron-down', () => ({
26
- __esModule: true,
27
- default: function ChevronDownIcon() {
28
- return <span data-testid="expanded-icon" />;
29
- },
30
- }));
31
-
32
- // Wrapper to reflect actual usage within a navigation menu
33
- const NavWrapper = ({ children }: { children: React.ReactNode }) => (
34
- <nav>
35
- <MenuList>{children}</MenuList>
36
- </nav>
37
- );
38
-
39
- describe('ExpandableMenuItem', () => {
40
- describe('accessibility', () => {
41
- it('should pass a11y checks when expanded', async () => {
42
- const { baseElement } = render(
43
- <NavWrapper>
44
- <ExpandableMenuItem isDefaultExpanded>
45
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
46
- <ExpandableMenuItemContent>
47
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
48
- </ExpandableMenuItemContent>
49
- </ExpandableMenuItem>
50
- </NavWrapper>,
51
- );
52
-
53
- await expect(baseElement).toBeAccessible();
54
- });
55
-
56
- it('should pass a11y checks when collapsed', async () => {
57
- const { baseElement } = render(
58
- <NavWrapper>
59
- <ExpandableMenuItem>
60
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
61
- <ExpandableMenuItemContent>
62
- <ButtonMenuItem>Item 1</ButtonMenuItem>
63
- <ButtonMenuItem>Item 2</ButtonMenuItem>
64
- </ExpandableMenuItemContent>
65
- </ExpandableMenuItem>
66
- </NavWrapper>,
67
- );
68
-
69
- await expect(baseElement).toBeAccessible();
70
- });
71
- });
72
-
73
- it('should not render the expandable content by default', () => {
74
- render(
75
- <ExpandableMenuItem>
76
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
77
- <ExpandableMenuItemContent>
78
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
79
- </ExpandableMenuItemContent>
80
- </ExpandableMenuItem>,
81
- );
82
-
83
- expect(screen.queryByText('Test expandable content')).not.toBeInTheDocument();
84
- });
85
-
86
- it('should render the expandable content after expandable menu is expanded and then collapsed again ', async () => {
87
- render(
88
- <ExpandableMenuItem>
89
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
90
- <ExpandableMenuItemContent>
91
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
92
- </ExpandableMenuItemContent>
93
- </ExpandableMenuItem>,
94
- );
95
-
96
- expect(screen.queryByText('Test expandable content')).not.toBeInTheDocument();
97
-
98
- // Expand menu
99
- await userEvent.click(screen.getByRole('button', { name: /Parent menu item/ }));
100
-
101
- expect(screen.getByText('Test expandable content')).toBeVisible();
102
-
103
- // Collapse menu
104
- await userEvent.click(screen.getByRole('button', { name: /Parent menu item/ }));
105
-
106
- expect(screen.getByText('Test expandable content')).not.toBeVisible();
107
- expect(screen.getByText('Test expandable content')).toBeInTheDocument();
108
- });
109
-
110
- it('should show the expandable content on initial render when isDefaultExpanded is true', () => {
111
- render(
112
- <ExpandableMenuItem isDefaultExpanded>
113
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
114
- <ExpandableMenuItemContent>
115
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
116
- </ExpandableMenuItemContent>
117
- </ExpandableMenuItem>,
118
- );
119
-
120
- expect(screen.getByText('Test expandable content')).toBeVisible();
121
- });
122
-
123
- describe('when nested', () => {
124
- it('should pass a11y checks', async () => {
125
- const { baseElement } = render(
126
- <NavWrapper>
127
- <ExpandableMenuItem isDefaultExpanded>
128
- <ExpandableMenuItemTrigger>Top level trigger</ExpandableMenuItemTrigger>
129
- <ExpandableMenuItemContent>
130
- <ButtonMenuItem>Item 1</ButtonMenuItem>
131
- <ButtonMenuItem>Item 2</ButtonMenuItem>
132
-
133
- <ExpandableMenuItem isDefaultExpanded>
134
- <ExpandableMenuItemTrigger>Nested menu item trigger</ExpandableMenuItemTrigger>
135
- <ExpandableMenuItemContent>
136
- <ButtonMenuItem>Item 3</ButtonMenuItem>
137
- <ButtonMenuItem>Item 4</ButtonMenuItem>
138
- </ExpandableMenuItemContent>
139
- </ExpandableMenuItem>
140
- </ExpandableMenuItemContent>
141
- </ExpandableMenuItem>
142
- </NavWrapper>,
143
- );
144
-
145
- await expect(baseElement).toBeAccessible();
146
- });
147
-
148
- it('should not show the nested content when only the top level expandable menu item is expanded', () => {
149
- render(
150
- <ExpandableMenuItem isDefaultExpanded>
151
- <ExpandableMenuItemTrigger>Top level trigger</ExpandableMenuItemTrigger>
152
- <ExpandableMenuItemContent>
153
- <ButtonMenuItem>Nested content level 1</ButtonMenuItem>
154
-
155
- <ExpandableMenuItem>
156
- <ExpandableMenuItemTrigger>Nested menu item trigger</ExpandableMenuItemTrigger>
157
- <ExpandableMenuItemContent>
158
- <ButtonMenuItem>Nested content level 2</ButtonMenuItem>
159
- </ExpandableMenuItemContent>
160
- </ExpandableMenuItem>
161
- </ExpandableMenuItemContent>
162
- </ExpandableMenuItem>,
163
- );
164
-
165
- expect(screen.getByText('Nested content level 1')).toBeVisible();
166
- expect(screen.queryByText('Nested content level 2')).not.toBeInTheDocument();
167
- });
168
-
169
- it('should hide the nested content when the nested trigger is clicked', async () => {
170
- render(
171
- <ExpandableMenuItem isDefaultExpanded>
172
- <ExpandableMenuItemTrigger>Top level trigger</ExpandableMenuItemTrigger>
173
- <ExpandableMenuItemContent>
174
- <ButtonMenuItem>Nested content level 1</ButtonMenuItem>
175
-
176
- <ExpandableMenuItem isDefaultExpanded>
177
- <ExpandableMenuItemTrigger>Nested menu item trigger</ExpandableMenuItemTrigger>
178
- <ExpandableMenuItemContent>
179
- <ButtonMenuItem>Nested content level 2</ButtonMenuItem>
180
- </ExpandableMenuItemContent>
181
- </ExpandableMenuItem>
182
- </ExpandableMenuItemContent>
183
- </ExpandableMenuItem>,
184
- );
185
-
186
- expect(screen.getByText('Nested content level 2')).toBeVisible();
187
-
188
- await userEvent.click(screen.getByRole('button', { name: /Nested menu item trigger/ }));
189
-
190
- expect(screen.getByText('Nested content level 2')).not.toBeVisible();
191
- });
192
-
193
- it('should retain the expanded state of nested expandable menu items when the ancestor is collapsed and then expanded again', async () => {
194
- render(
195
- <ExpandableMenuItem isDefaultExpanded>
196
- <ExpandableMenuItemTrigger>Top level trigger</ExpandableMenuItemTrigger>
197
- <ExpandableMenuItemContent>
198
- <ButtonMenuItem>Nested content level 1</ButtonMenuItem>
199
-
200
- <ExpandableMenuItem>
201
- <ExpandableMenuItemTrigger>Nested menu item trigger</ExpandableMenuItemTrigger>
202
- <ExpandableMenuItemContent>
203
- <ButtonMenuItem>Nested content level 2</ButtonMenuItem>
204
- </ExpandableMenuItemContent>
205
- </ExpandableMenuItem>
206
- </ExpandableMenuItemContent>
207
- </ExpandableMenuItem>,
208
- );
209
-
210
- expect(screen.queryByText('Nested content level 2')).not.toBeInTheDocument();
211
-
212
- // Expand the nested expandable
213
- await userEvent.click(screen.getByRole('button', { name: /Nested menu item trigger/ }));
214
-
215
- expect(screen.getByText('Nested content level 2')).toBeVisible();
216
-
217
- // Collapse the top level expandable
218
- await userEvent.click(screen.getByRole('button', { name: /Top level trigger/ }));
219
-
220
- expect(screen.getByText('Nested content level 2')).not.toBeVisible();
221
-
222
- // Expand the top level expandable
223
- await userEvent.click(screen.getByRole('button', { name: /Top level trigger/ }));
224
-
225
- expect(screen.getByText('Nested content level 2')).toBeVisible();
226
- });
227
- });
228
-
229
- describe('when a href is provided', () => {
230
- it('should be a link', () => {
231
- render(
232
- <ExpandableMenuItem>
233
- <ExpandableMenuItemTrigger href="/test">Parent menu item</ExpandableMenuItemTrigger>
234
- <ExpandableMenuItemContent>
235
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
236
- </ExpandableMenuItemContent>
237
- </ExpandableMenuItem>,
238
- );
239
-
240
- expect(screen.getByRole('link', { name: /Parent menu item/ })).toBeVisible();
241
- });
242
-
243
- it('should show the expandable content when the menu item trigger is clicked while collapsed', async () => {
244
- render(
245
- <ExpandableMenuItem>
246
- <ExpandableMenuItemTrigger href="/test">Parent menu item</ExpandableMenuItemTrigger>
247
- <ExpandableMenuItemContent>
248
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
249
- </ExpandableMenuItemContent>
250
- </ExpandableMenuItem>,
251
- );
252
-
253
- await userEvent.click(screen.getByRole('link', { name: /Parent menu item/ }));
254
-
255
- expect(screen.getByText('Test expandable content')).toBeVisible();
256
- });
257
-
258
- it('should hide the expandable content when the menu item trigger is clicked while expanded', async () => {
259
- render(
260
- <ExpandableMenuItem isDefaultExpanded>
261
- <ExpandableMenuItemTrigger href="/test">Parent menu item</ExpandableMenuItemTrigger>
262
- <ExpandableMenuItemContent>
263
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
264
- </ExpandableMenuItemContent>
265
- </ExpandableMenuItem>,
266
- );
267
-
268
- await userEvent.click(screen.getByRole('link', { name: /Parent menu item/ }));
269
-
270
- expect(screen.getByText('Test expandable content')).not.toBeVisible();
271
- });
272
-
273
- it('should show the expandable content when the chevron icon button is clicked while collapsed', async () => {
274
- render(
275
- <ExpandableMenuItem>
276
- <ExpandableMenuItemTrigger href="/test" testId="trigger-test-id">
277
- Parent menu item
278
- </ExpandableMenuItemTrigger>
279
- <ExpandableMenuItemContent>
280
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
281
- </ExpandableMenuItemContent>
282
- </ExpandableMenuItem>,
283
- );
284
-
285
- await userEvent.click(screen.getByTestId('trigger-test-id--elem-before-button'), {
286
- // Skipping pointer events check as the `:not(:has(button,a))` selector
287
- // to disable pointer-events when there is no interactive child element
288
- // is not working correctly in our unit test environment
289
- pointerEventsCheck: 0,
290
- });
291
-
292
- expect(screen.getByText('Test expandable content')).toBeVisible();
293
- });
294
-
295
- it('should hide the expandable content when the chevron icon button is clicked while expanded', async () => {
296
- render(
297
- <ExpandableMenuItem isDefaultExpanded>
298
- <ExpandableMenuItemTrigger href="/test" testId="trigger-test-id">
299
- Parent menu item
300
- </ExpandableMenuItemTrigger>
301
- <ExpandableMenuItemContent>
302
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
303
- </ExpandableMenuItemContent>
304
- </ExpandableMenuItem>,
305
- );
306
-
307
- await userEvent.click(screen.getByTestId('trigger-test-id--elem-before-button'), {
308
- // Skipping pointer events check as the `:not(:has(button,a))` selector
309
- // to disable pointer-events when there is no interactive child element
310
- // is not working correctly in our unit test environment
311
- pointerEventsCheck: 0,
312
- });
313
-
314
- expect(screen.getByText('Test expandable content')).not.toBeVisible();
315
- });
316
-
317
- it('should call the onExpansionToggle callback when the menu content is clicked', async () => {
318
- const onExpansionToggle = jest.fn();
319
-
320
- render(
321
- <ExpandableMenuItem onExpansionToggle={onExpansionToggle}>
322
- <ExpandableMenuItemTrigger href="/test">Parent menu item</ExpandableMenuItemTrigger>
323
- <ExpandableMenuItemContent>
324
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
325
- </ExpandableMenuItemContent>
326
- </ExpandableMenuItem>,
327
- );
328
-
329
- await userEvent.click(screen.getByRole('link', { name: /Parent menu item/ }));
330
-
331
- expect(onExpansionToggle).toHaveBeenCalled();
332
- });
333
-
334
- it('should call the trigger click handler when the menu content is clicked', async () => {
335
- const onClick = jest.fn();
336
-
337
- render(
338
- <ExpandableMenuItem>
339
- <ExpandableMenuItemTrigger href="/test" onClick={onClick}>
340
- Parent menu item
341
- </ExpandableMenuItemTrigger>
342
- <ExpandableMenuItemContent>
343
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
344
- </ExpandableMenuItemContent>
345
- </ExpandableMenuItem>,
346
- );
347
-
348
- await userEvent.click(screen.getByRole('link', { name: /Parent menu item/ }));
349
-
350
- expect(onClick).toHaveBeenCalled();
351
- });
352
- });
353
-
354
- describe('when a href is not provided', () => {
355
- it('should be a button', () => {
356
- render(
357
- <ExpandableMenuItem>
358
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
359
- <ExpandableMenuItemContent>
360
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
361
- </ExpandableMenuItemContent>
362
- </ExpandableMenuItem>,
363
- );
364
-
365
- expect(screen.getByRole('button', { name: /Parent menu item/ })).toBeVisible();
366
- });
367
-
368
- it('should show the expandable content when the trigger label button is clicked while collapsed', async () => {
369
- render(
370
- <ExpandableMenuItem>
371
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
372
- <ExpandableMenuItemContent>
373
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
374
- </ExpandableMenuItemContent>
375
- </ExpandableMenuItem>,
376
- );
377
-
378
- await userEvent.click(screen.getByRole('button', { name: /Parent menu item/ }));
379
-
380
- expect(screen.getByText('Test expandable content')).toBeVisible();
381
- });
382
-
383
- it('should hide the expandable content when the trigger label button is clicked while expanded', async () => {
384
- render(
385
- <ExpandableMenuItem isDefaultExpanded>
386
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
387
- <ExpandableMenuItemContent>
388
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
389
- </ExpandableMenuItemContent>
390
- </ExpandableMenuItem>,
391
- );
392
-
393
- await userEvent.click(screen.getByRole('button', { name: /Parent menu item/ }));
394
-
395
- expect(screen.getByText('Test expandable content')).not.toBeVisible();
396
- });
397
-
398
- it('should call the onExpansionToggle callback when the menu content is clicked', async () => {
399
- const onExpansionToggle = jest.fn();
400
-
401
- render(
402
- <ExpandableMenuItem onExpansionToggle={onExpansionToggle}>
403
- <ExpandableMenuItemTrigger>Parent menu item</ExpandableMenuItemTrigger>
404
- <ExpandableMenuItemContent>
405
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
406
- </ExpandableMenuItemContent>
407
- </ExpandableMenuItem>,
408
- );
409
-
410
- await userEvent.click(screen.getByRole('button', { name: /Parent menu item/ }));
411
-
412
- expect(onExpansionToggle).toHaveBeenCalledWith(true);
413
- });
414
-
415
- it('should call the trigger click handler when the menu content is clicked', async () => {
416
- const onClick = jest.fn();
417
-
418
- render(
419
- <ExpandableMenuItem>
420
- <ExpandableMenuItemTrigger onClick={onClick}>Parent menu item</ExpandableMenuItemTrigger>
421
- <ExpandableMenuItemContent>
422
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
423
- </ExpandableMenuItemContent>
424
- </ExpandableMenuItem>,
425
- );
426
-
427
- await userEvent.click(screen.getByRole('button', { name: /Parent menu item/ }));
428
-
429
- expect(onClick).toHaveBeenCalled();
430
- });
431
-
432
- describe('aria-expanded', () => {
433
- const itemText = 'Parent menu item';
434
-
435
- it('should be `false` when collapsed', () => {
436
- render(
437
- <ExpandableMenuItem>
438
- <ExpandableMenuItemTrigger>{itemText}</ExpandableMenuItemTrigger>
439
- <ExpandableMenuItemContent>
440
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
441
- </ExpandableMenuItemContent>
442
- </ExpandableMenuItem>,
443
- );
444
-
445
- expect(screen.getByRole('button', { name: itemText })).toHaveAttribute(
446
- 'aria-expanded',
447
- 'false',
448
- );
449
- });
450
-
451
- it('should be `true` when expanded', () => {
452
- render(
453
- <ExpandableMenuItem isDefaultExpanded>
454
- <ExpandableMenuItemTrigger>{itemText}</ExpandableMenuItemTrigger>
455
- <ExpandableMenuItemContent>
456
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
457
- </ExpandableMenuItemContent>
458
- </ExpandableMenuItem>,
459
- );
460
-
461
- expect(screen.getByRole('button', { name: itemText })).toHaveAttribute(
462
- 'aria-expanded',
463
- 'true',
464
- );
465
- });
466
- });
467
- });
468
- });
469
-
470
- describe('ExpandableMenuItemTrigger', () => {
471
- const scrollIntoViewMock = jest.fn();
472
- const scrollIntoViewIfNeededMock = jest.fn();
473
-
474
- beforeEach(() => {
475
- window.HTMLElement.prototype.scrollIntoView = scrollIntoViewMock;
476
- window.HTMLElement.prototype.scrollIntoViewIfNeeded = scrollIntoViewIfNeededMock;
477
- });
478
-
479
- afterEach(() => {
480
- jest.clearAllMocks();
481
- });
482
-
483
- const actions = [
484
- <IconButton key="Add" label="Add" icon={AddIcon} appearance="subtle" />,
485
- <IconButton key="More" label="More" icon={MoreIcon} appearance="subtle" />,
486
- ];
487
-
488
- it('should be accessible', async () => {
489
- render(
490
- <NavWrapper>
491
- <ExpandableMenuItem>
492
- <ExpandableMenuItemTrigger elemBefore={<HomeIcon label="" />} actions={actions}>
493
- Menu trigger
494
- </ExpandableMenuItemTrigger>
495
- </ExpandableMenuItem>
496
- </NavWrapper>,
497
- );
498
-
499
- await expect(screen.getByRole('button', { name: /Menu trigger/ })).toBeAccessible();
500
- });
501
-
502
- it('should display button with menu item label', () => {
503
- render(
504
- <ExpandableMenuItem>
505
- <ExpandableMenuItemTrigger elemBefore={<HomeIcon label="" />} actions={actions}>
506
- Menu trigger
507
- </ExpandableMenuItemTrigger>
508
- </ExpandableMenuItem>,
509
- );
510
-
511
- expect(screen.getByRole('button', { name: /Menu trigger/ })).toBeVisible();
512
- });
513
-
514
- describe('when a href is not provided', () => {
515
- it('should display custom icon when not hovered over', () => {
516
- render(
517
- <ExpandableMenuItem>
518
- <ExpandableMenuItemTrigger elemBefore={<HomeIcon testId="test-icon" label="" />}>
519
- Menu trigger
520
- </ExpandableMenuItemTrigger>
521
- </ExpandableMenuItem>,
522
- );
523
-
524
- expect(screen.getByTestId('test-icon')).toBeVisible();
525
- });
526
-
527
- it('should display the collapsed chevron icon when trigger is hovered over while collapsed', async () => {
528
- render(
529
- <ExpandableMenuItem>
530
- <ExpandableMenuItemTrigger elemBefore={<HomeIcon testId="test-icon" label="" />}>
531
- Menu trigger
532
- </ExpandableMenuItemTrigger>
533
- </ExpandableMenuItem>,
534
- );
535
-
536
- await userEvent.hover(screen.getByRole('button', { name: /Menu trigger/ }));
537
-
538
- expect(screen.getByTestId('collapsed-icon')).toBeVisible();
539
- });
540
-
541
- it('should display the expanded chevron icon when trigger is hovered over while expanded', async () => {
542
- render(
543
- <ExpandableMenuItem isDefaultExpanded>
544
- <ExpandableMenuItemTrigger elemBefore={<HomeIcon testId="test-icon" label="" />}>
545
- Menu trigger
546
- </ExpandableMenuItemTrigger>
547
- </ExpandableMenuItem>,
548
- );
549
-
550
- await userEvent.hover(screen.getByRole('button', { name: /Menu trigger/ }));
551
-
552
- expect(screen.getByTestId('expanded-icon')).toBeVisible();
553
- });
554
-
555
- it('should fallback to displaying the chevron icon when a custom icon is not provided', async () => {
556
- render(
557
- <ExpandableMenuItem>
558
- <ExpandableMenuItemTrigger>Menu trigger</ExpandableMenuItemTrigger>
559
- </ExpandableMenuItem>,
560
- );
561
-
562
- expect(screen.getByTestId('collapsed-icon')).toBeVisible();
563
- });
564
- });
565
-
566
- describe('when a href is provided', () => {
567
- it('should display an icon button with correct test id', () => {
568
- render(
569
- <ExpandableMenuItem>
570
- <ExpandableMenuItemTrigger href="/test" testId="trigger-test-id">
571
- Menu trigger
572
- </ExpandableMenuItemTrigger>
573
- </ExpandableMenuItem>,
574
- );
575
-
576
- expect(screen.getByTestId('trigger-test-id--elem-before-button')).toBeVisible();
577
- });
578
-
579
- ffTest.on('platform_dst_expandable_menu_item_elembefore_label', 'aria-expanded', () => {
580
- it('should display an icon button with correct label and aria-expanded when expanded', () => {
581
- render(
582
- <ExpandableMenuItem isDefaultExpanded>
583
- <ExpandableMenuItemTrigger
584
- href="/test"
585
- elemBefore={<HomeIcon label="" />}
586
- actions={actions}
587
- >
588
- Menu trigger
589
- </ExpandableMenuItemTrigger>
590
- </ExpandableMenuItem>,
591
- );
592
-
593
- const chevronIconButton = screen.getByRole('button', { name: /Menu trigger/ });
594
-
595
- expect(chevronIconButton).toBeVisible();
596
- expect(chevronIconButton).toHaveAttribute('aria-expanded', 'true');
597
- });
598
-
599
- it('should display an icon button with correct label and aria-expanded when collapsed', () => {
600
- render(
601
- <ExpandableMenuItem>
602
- <ExpandableMenuItemTrigger
603
- href="/test"
604
- elemBefore={<HomeIcon label="" />}
605
- actions={actions}
606
- >
607
- Menu trigger
608
- </ExpandableMenuItemTrigger>
609
- </ExpandableMenuItem>,
610
- );
611
-
612
- const chevronIconButton = screen.getByRole('button', { name: /Menu trigger/ });
613
-
614
- expect(chevronIconButton).toBeVisible();
615
- expect(chevronIconButton).toHaveAttribute('aria-expanded', 'false');
616
- });
617
- });
618
-
619
- ffTest.off('platform_dst_expandable_menu_item_elembefore_label', 'aria-expanded', () => {
620
- const itemText = 'Parent menu item';
621
- const chevronExpandedText = 'Collapse';
622
- const chevronCollapsedText = 'Expand';
623
-
624
- it('should be `false` when collapsed', () => {
625
- render(
626
- <ExpandableMenuItem>
627
- <ExpandableMenuItemTrigger href="/test">{itemText}</ExpandableMenuItemTrigger>
628
- <ExpandableMenuItemContent>
629
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
630
- </ExpandableMenuItemContent>
631
- </ExpandableMenuItem>,
632
- );
633
-
634
- expect(screen.getByRole('button', { name: chevronCollapsedText })).toHaveAttribute(
635
- 'aria-expanded',
636
- 'false',
637
- );
638
- });
639
-
640
- it('should be `true` when expanded', () => {
641
- render(
642
- <ExpandableMenuItem isDefaultExpanded>
643
- <ExpandableMenuItemTrigger href="/test">{itemText}</ExpandableMenuItemTrigger>
644
- <ExpandableMenuItemContent>
645
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
646
- </ExpandableMenuItemContent>
647
- </ExpandableMenuItem>,
648
- );
649
-
650
- expect(screen.getByRole('button', { name: chevronExpandedText })).toHaveAttribute(
651
- 'aria-expanded',
652
- 'true',
653
- );
654
- });
655
- });
656
-
657
- it('should display custom icon when not hovered over', () => {
658
- render(
659
- <ExpandableMenuItem>
660
- <ExpandableMenuItemTrigger
661
- href="/test"
662
- elemBefore={<HomeIcon testId="test-icon" label="" />}
663
- >
664
- Menu trigger
665
- </ExpandableMenuItemTrigger>
666
- </ExpandableMenuItem>,
667
- );
668
-
669
- expect(screen.getByTestId('test-icon')).toBeVisible();
670
- });
671
-
672
- it('should display the collapsed chevron icon when trigger is hovered over while collapsed', async () => {
673
- render(
674
- <ExpandableMenuItem>
675
- <ExpandableMenuItemTrigger
676
- href="/test"
677
- elemBefore={<HomeIcon testId="test-icon" label="" />}
678
- >
679
- Menu trigger
680
- </ExpandableMenuItemTrigger>
681
- </ExpandableMenuItem>,
682
- );
683
-
684
- await userEvent.hover(screen.getByRole('link', { name: /Menu trigger/ }));
685
-
686
- expect(screen.getByTestId('collapsed-icon')).toBeVisible();
687
- });
688
-
689
- it('should display the expanded chevron icon when trigger is hovered over while expanded', async () => {
690
- render(
691
- <ExpandableMenuItem isDefaultExpanded>
692
- <ExpandableMenuItemTrigger
693
- href="/test"
694
- elemBefore={<HomeIcon testId="test-icon" label="" />}
695
- >
696
- Menu trigger
697
- </ExpandableMenuItemTrigger>
698
- </ExpandableMenuItem>,
699
- );
700
-
701
- await userEvent.hover(screen.getByRole('link', { name: /Menu trigger/ }));
702
-
703
- expect(screen.getByTestId('expanded-icon')).toBeVisible();
704
- });
705
-
706
- it('should fallback to displaying the chevron icon when a custom icon is not provided', async () => {
707
- render(
708
- <ExpandableMenuItem>
709
- <ExpandableMenuItemTrigger href="/test">Menu trigger</ExpandableMenuItemTrigger>
710
- </ExpandableMenuItem>,
711
- );
712
-
713
- expect(screen.getByTestId('collapsed-icon')).toBeVisible();
714
- });
715
-
716
- it('should not scroll into view on initial render when not selected', () => {
717
- render(
718
- <ExpandableMenuItem isDefaultExpanded>
719
- <ExpandableMenuItemTrigger
720
- href="/test"
721
- elemBefore={<HomeIcon label="" />}
722
- actions={actions}
723
- >
724
- Menu trigger
725
- </ExpandableMenuItemTrigger>
726
- </ExpandableMenuItem>,
727
- );
728
-
729
- expect(scrollIntoViewMock).not.toHaveBeenCalled();
730
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
731
- });
732
-
733
- it('should fall back to using the scrollIntoView API when scrollIntoViewIfNeeded is not available', () => {
734
- window.HTMLElement.prototype.scrollIntoViewIfNeeded = undefined;
735
-
736
- render(
737
- <ExpandableMenuItem isDefaultExpanded>
738
- <ExpandableMenuItemTrigger
739
- href="/test"
740
- elemBefore={<HomeIcon label="" />}
741
- actions={actions}
742
- isSelected
743
- >
744
- Menu trigger
745
- </ExpandableMenuItemTrigger>
746
- </ExpandableMenuItem>,
747
- );
748
-
749
- expect(scrollIntoViewMock).toHaveBeenCalledWith({ block: 'nearest' });
750
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
751
- });
752
-
753
- it('should scroll into view when selected on initial render', () => {
754
- render(
755
- <ExpandableMenuItem isDefaultExpanded>
756
- <ExpandableMenuItemTrigger
757
- href="/test"
758
- elemBefore={<HomeIcon label="" />}
759
- actions={actions}
760
- isSelected
761
- >
762
- Menu trigger
763
- </ExpandableMenuItemTrigger>
764
- </ExpandableMenuItem>,
765
- );
766
-
767
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
768
- true, // The arg is for centering the element
769
- );
770
-
771
- // scrollIntoView is the fallback, so shouldn't be used if scrollIntoViewIfNeeded is available
772
- expect(scrollIntoViewMock).not.toHaveBeenCalled();
773
- });
774
-
775
- it('should scroll into view when selected after initial render', async () => {
776
- const TestComponent = () => {
777
- const [isSelected, setIsSelected] = useState(false);
778
-
779
- return (
780
- <>
781
- <button type="button" onClick={() => setIsSelected(true)}>
782
- Set selected
783
- </button>
784
- <ExpandableMenuItem isDefaultExpanded>
785
- <ExpandableMenuItemTrigger
786
- isSelected={isSelected}
787
- href="/test"
788
- elemBefore={<HomeIcon label="" />}
789
- actions={actions}
790
- >
791
- Menu trigger
792
- </ExpandableMenuItemTrigger>
793
- </ExpandableMenuItem>
794
- </>
795
- );
796
- };
797
-
798
- render(<TestComponent />);
799
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
800
-
801
- await userEvent.click(screen.getByRole('button', { name: 'Set selected' }));
802
-
803
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
804
- true, // The arg is for centering the element
805
- );
806
-
807
- // scrollIntoView is the fallback, so shouldn't be used if scrollIntoViewIfNeeded is available
808
- expect(scrollIntoViewMock).not.toHaveBeenCalled();
809
- });
810
-
811
- it('should scroll into view when selected, even if collapsed', async () => {
812
- const TestComponent = () => {
813
- const [isSelected, setIsSelected] = useState(false);
814
-
815
- return (
816
- <>
817
- <button type="button" onClick={() => setIsSelected(true)}>
818
- Set selected
819
- </button>
820
- <ExpandableMenuItem isDefaultExpanded={false}>
821
- <ExpandableMenuItemTrigger
822
- isSelected={isSelected}
823
- href="/test"
824
- elemBefore={<HomeIcon label="" />}
825
- actions={actions}
826
- >
827
- Menu trigger
828
- </ExpandableMenuItemTrigger>
829
- </ExpandableMenuItem>
830
- </>
831
- );
832
- };
833
-
834
- render(<TestComponent />);
835
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
836
-
837
- await userEvent.click(screen.getByRole('button', { name: 'Set selected' }));
838
-
839
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
840
- true, // The arg is for centering the element
841
- );
842
-
843
- // scrollIntoView is the fallback, so shouldn't be used if scrollIntoViewIfNeeded is available
844
- expect(scrollIntoViewMock).not.toHaveBeenCalled();
845
- });
846
-
847
- it('should scroll into view when selected, and nested in a parent menu item, and the parent gets expanded', async () => {
848
- // Ancestor is collapsed initially
849
- render(
850
- <ExpandableMenuItem isDefaultExpanded={false}>
851
- <ExpandableMenuItemTrigger>Expandable trigger level 1</ExpandableMenuItemTrigger>
852
-
853
- <ExpandableMenuItemContent>
854
- <ExpandableMenuItem>
855
- <ExpandableMenuItemTrigger
856
- isSelected
857
- href="/test"
858
- elemBefore={<HomeIcon label="" />}
859
- actions={actions}
860
- >
861
- Expandable trigger level 2
862
- </ExpandableMenuItemTrigger>
863
- </ExpandableMenuItem>
864
- </ExpandableMenuItemContent>
865
- </ExpandableMenuItem>,
866
- );
867
-
868
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
869
-
870
- // Expand the parent
871
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
872
-
873
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
874
- true, // The arg is for centering the element
875
- );
876
- });
877
-
878
- it('should scroll into view when selected, with multiple ancestors, and all ancestors become expanded', async () => {
879
- // Ancestor is collapsed initially
880
- render(
881
- <ExpandableMenuItem isDefaultExpanded={false}>
882
- <ExpandableMenuItemTrigger>Expandable trigger level 1</ExpandableMenuItemTrigger>
883
-
884
- <ExpandableMenuItemContent>
885
- <ExpandableMenuItem isDefaultExpanded={false}>
886
- <ExpandableMenuItemTrigger
887
- href="/test"
888
- elemBefore={<HomeIcon label="" />}
889
- actions={actions}
890
- >
891
- Expandable trigger level 2
892
- </ExpandableMenuItemTrigger>
893
-
894
- <ExpandableMenuItemContent>
895
- <ExpandableMenuItem>
896
- <ExpandableMenuItemTrigger
897
- isSelected
898
- href="/test"
899
- elemBefore={<HomeIcon label="" />}
900
- actions={actions}
901
- >
902
- Expandable trigger level 3
903
- </ExpandableMenuItemTrigger>
904
- </ExpandableMenuItem>
905
- </ExpandableMenuItemContent>
906
- </ExpandableMenuItem>
907
- </ExpandableMenuItemContent>
908
- </ExpandableMenuItem>,
909
- );
910
-
911
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
912
-
913
- // Expand the first ancestor
914
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
915
-
916
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
917
-
918
- // Expand the second ancestor
919
- await userEvent.click(screen.getByRole('link', { name: 'Expandable trigger level 2' }));
920
-
921
- // Now that all ancestors are expanded, it should scroll into view
922
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
923
- true, // The arg is for centering the element
924
- );
925
- });
926
-
927
- it('should not scroll into view when parent expandable gets toggled again, until being unselected and re-selected', async () => {
928
- const TestComponent = () => {
929
- const [isSelected, setIsSelected] = useState(true);
930
-
931
- return (
932
- <>
933
- <ExpandableMenuItem isDefaultExpanded={false}>
934
- <ExpandableMenuItemTrigger>Expandable trigger level 1</ExpandableMenuItemTrigger>
935
-
936
- <ExpandableMenuItemContent>
937
- <ExpandableMenuItem>
938
- <ExpandableMenuItemTrigger
939
- isSelected={isSelected}
940
- href="/test"
941
- elemBefore={<HomeIcon label="" />}
942
- actions={actions}
943
- >
944
- Expandable trigger level 2
945
- </ExpandableMenuItemTrigger>
946
- </ExpandableMenuItem>
947
- </ExpandableMenuItemContent>
948
- </ExpandableMenuItem>
949
- <button type="button" onClick={() => setIsSelected((val) => !val)}>
950
- Toggle selected
951
- </button>
952
- </>
953
- );
954
- };
955
-
956
- render(<TestComponent />);
957
-
958
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
959
-
960
- // Expand the parent
961
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
962
-
963
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
964
- true, // The arg is for centering the element
965
- );
966
-
967
- scrollIntoViewIfNeededMock.mockClear();
968
-
969
- // Collapse then expand the parent
970
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
971
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
972
-
973
- // Should not scroll into view again
974
- expect(scrollIntoViewIfNeededMock).not.toHaveBeenCalled();
975
-
976
- // Collapse the parent
977
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
978
-
979
- // Unselect then re-select the menu item
980
- await userEvent.click(screen.getByRole('button', { name: 'Toggle selected' }));
981
- await userEvent.click(screen.getByRole('button', { name: 'Toggle selected' }));
982
-
983
- // Expand the parent
984
- await userEvent.click(screen.getByRole('button', { name: 'Expandable trigger level 1' }));
985
-
986
- // Should scroll into view now
987
- expect(scrollIntoViewIfNeededMock).toHaveBeenCalledWith(
988
- true, // The arg is for centering the element
989
- );
990
- });
991
- });
992
-
993
- describe('isExpanded', () => {
994
- it('should render the content when isExpanded is true', () => {
995
- render(
996
- <ExpandableMenuItem isExpanded={true}>
997
- <ExpandableMenuItemTrigger>Trigger</ExpandableMenuItemTrigger>
998
- <ExpandableMenuItemContent>
999
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1000
- </ExpandableMenuItemContent>
1001
- </ExpandableMenuItem>,
1002
- );
1003
- expect(screen.getByRole('button', { name: 'Trigger' })).toBeVisible();
1004
- expect(screen.getByText('Test expandable content')).toBeVisible();
1005
- });
1006
-
1007
- it('should not render the content when isExpanded is false', () => {
1008
- render(
1009
- <ExpandableMenuItem isExpanded={false} isDefaultExpanded>
1010
- <ExpandableMenuItemTrigger>Trigger</ExpandableMenuItemTrigger>
1011
- <ExpandableMenuItemContent>
1012
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1013
- </ExpandableMenuItemContent>
1014
- </ExpandableMenuItem>,
1015
- );
1016
- expect(screen.getByRole('button', { name: 'Trigger' })).toBeVisible();
1017
- expect(screen.queryByText('Test expandable content')).not.toBeInTheDocument();
1018
- });
1019
-
1020
- it('should hide the content but leave it in the document when isOpen is updated to false after the initial render', () => {
1021
- const { rerender } = render(
1022
- <ExpandableMenuItem isDefaultExpanded>
1023
- <ExpandableMenuItemTrigger>Trigger</ExpandableMenuItemTrigger>
1024
- <ExpandableMenuItemContent>
1025
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1026
- </ExpandableMenuItemContent>
1027
- </ExpandableMenuItem>,
1028
- );
1029
- // Initially, the content should be visible
1030
- expect(screen.getByRole('button', { name: 'Trigger' })).toBeVisible();
1031
- expect(screen.getByText('Test expandable content')).toBeVisible();
1032
- // Update the isExpanded prop to false
1033
- rerender(
1034
- <ExpandableMenuItem isDefaultExpanded isExpanded={false}>
1035
- <ExpandableMenuItemTrigger>Trigger</ExpandableMenuItemTrigger>
1036
- <ExpandableMenuItemContent>
1037
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1038
- </ExpandableMenuItemContent>
1039
- </ExpandableMenuItem>,
1040
- );
1041
- // Now, the content should not be visible, but remain in the document
1042
- expect(screen.getByRole('button', { name: 'Trigger' })).toBeVisible();
1043
- expect(screen.getByText('Test expandable content')).toBeInTheDocument();
1044
- expect(screen.queryByText('Test expandable content')).not.toBeVisible();
1045
- });
1046
- });
1047
-
1048
- describe('actionsOnHover', () => {
1049
- it('should hide elemAfter on hover', () => {
1050
- render(
1051
- <ExpandableMenuItem>
1052
- <ExpandableMenuItemTrigger
1053
- testId="expandable-menu-item"
1054
- actionsOnHover={<IconButton icon={MoreIcon} label="label" />}
1055
- elemAfter={<span>elemAfter</span>}
1056
- >
1057
- Trigger
1058
- </ExpandableMenuItemTrigger>
1059
- <ExpandableMenuItemContent>
1060
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1061
- </ExpandableMenuItemContent>
1062
- </ExpandableMenuItem>,
1063
- );
1064
-
1065
- expect(screen.getByTestId('expandable-menu-item-container')).not.toHaveCompiledCss(
1066
- '--elem-after-display',
1067
- 'none',
1068
- );
1069
- expect(screen.getByTestId('expandable-menu-item-container')).toHaveCompiledCss(
1070
- '--elem-after-display',
1071
- 'none',
1072
- { target: ':hover' },
1073
- );
1074
- });
1075
-
1076
- it('should hide elemAfter when expanded, if provided', () => {
1077
- render(
1078
- <ExpandableMenuItem isDefaultExpanded>
1079
- <ExpandableMenuItemTrigger
1080
- testId="expandable-menu-item"
1081
- actionsOnHover={<IconButton icon={MoreIcon} label="label" />}
1082
- elemAfter={<span>elemAfter</span>}
1083
- >
1084
- Trigger
1085
- </ExpandableMenuItemTrigger>
1086
- <ExpandableMenuItemContent>
1087
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1088
- </ExpandableMenuItemContent>
1089
- </ExpandableMenuItem>,
1090
- );
1091
-
1092
- expect(screen.getByTestId('expandable-menu-item-container')).toHaveCompiledCss(
1093
- '--elem-after-display',
1094
- 'none',
1095
- );
1096
- });
1097
-
1098
- it('should not hide elemAfter if not provided', () => {
1099
- render(
1100
- <ExpandableMenuItem isDefaultExpanded>
1101
- <ExpandableMenuItemTrigger
1102
- testId="expandable-menu-item"
1103
- elemAfter={<span>elemAfter</span>}
1104
- >
1105
- Trigger
1106
- </ExpandableMenuItemTrigger>
1107
- <ExpandableMenuItemContent>
1108
- <ButtonMenuItem>Test expandable content</ButtonMenuItem>
1109
- </ExpandableMenuItemContent>
1110
- </ExpandableMenuItem>,
1111
- );
1112
-
1113
- expect(screen.getByTestId('expandable-menu-item-container')).not.toHaveCompiledCss(
1114
- '--elem-after-display',
1115
- 'none',
1116
- );
1117
- });
1118
- });
1119
- });