@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.
- package/CHANGELOG.md +29 -0
- package/dist/cjs/components/skip-links/skip-links-container.js +25 -17
- package/dist/cjs/context/skip-links/skip-links-data-context.js +28 -10
- package/dist/cjs/context/skip-links/skip-links-provider.js +17 -6
- package/dist/cjs/ui/menu-item/menu-item.js +1 -1
- package/dist/cjs/ui/page-layout/root.js +11 -1
- package/dist/es2019/components/skip-links/skip-links-container.js +24 -16
- package/dist/es2019/context/skip-links/skip-links-data-context.js +25 -8
- package/dist/es2019/context/skip-links/skip-links-provider.js +17 -6
- package/dist/es2019/ui/menu-item/menu-item.js +1 -1
- package/dist/es2019/ui/page-layout/root.js +11 -1
- package/dist/esm/components/skip-links/skip-links-container.js +23 -15
- package/dist/esm/context/skip-links/skip-links-data-context.js +26 -9
- package/dist/esm/context/skip-links/skip-links-provider.js +16 -5
- package/dist/esm/ui/menu-item/menu-item.js +1 -1
- package/dist/esm/ui/page-layout/root.js +11 -1
- package/dist/types/components/skip-links/skip-links-container.d.ts +13 -8
- package/dist/types/context/skip-links/skip-links-data-context.d.ts +15 -1
- package/dist/types/context/skip-links/skip-links-provider.d.ts +9 -4
- package/dist/types-ts4.5/components/skip-links/skip-links-container.d.ts +13 -8
- package/dist/types-ts4.5/context/skip-links/skip-links-data-context.d.ts +15 -1
- package/dist/types-ts4.5/context/skip-links/skip-links-provider.d.ts +9 -4
- package/package.json +9 -10
- package/afm-cc/tsconfig.json +0 -78
- package/afm-dev-agents/tsconfig.json +0 -78
- package/afm-jira/tsconfig.json +0 -78
- package/afm-passionfruit/tsconfig.json +0 -78
- package/afm-post-office/tsconfig.json +0 -78
- package/afm-rovo-extension/tsconfig.json +0 -78
- package/afm-townsquare/tsconfig.json +0 -78
- package/afm-volt/tsconfig.json +0 -78
- package/build/tsconfig.json +0 -23
- package/docs/00-intro.tsx +0 -14
- package/examples/advanced-layout.tsx +0 -144
- package/examples/button-menu-item.tsx +0 -426
- package/examples/company-hub-mock.tsx +0 -219
- package/examples/composition.tsx +0 -424
- package/examples/confluence-mock.tsx +0 -381
- package/examples/constellation/common/mock-content.tsx +0 -39
- package/examples/constellation/common/mock-top-bar.tsx +0 -20
- package/examples/constellation/layout/custom-skip-links.tsx +0 -12
- package/examples/constellation/layout/custom-theming--parse-hex.tsx +0 -19
- package/examples/constellation/layout/custom-theming--parse-hsl.tsx +0 -22
- package/examples/constellation/layout/custom-theming--parse-rgb.tsx +0 -22
- package/examples/constellation/layout/custom-theming--parse-user-color.tsx +0 -22
- package/examples/constellation/layout/custom-theming--rgb-object.tsx +0 -21
- package/examples/constellation/layout/expand-side-nav.tsx +0 -17
- package/examples/constellation/layout/toggle-side-nav-keyboard-shortcut.tsx +0 -25
- package/examples/constellation/side-nav-items/actions-and-actions-on-hover.tsx +0 -153
- package/examples/constellation/side-nav-items/button-menu-item.tsx +0 -133
- package/examples/constellation/side-nav-items/common/global-app-icon-tile.tsx +0 -43
- package/examples/constellation/side-nav-items/common/mock-side-nav.tsx +0 -18
- package/examples/constellation/side-nav-items/container-avatar.tsx +0 -32
- package/examples/constellation/side-nav-items/elem-after.tsx +0 -60
- package/examples/constellation/side-nav-items/elem-before.tsx +0 -116
- package/examples/constellation/side-nav-items/expandable-menu-item-default-variant.tsx +0 -219
- package/examples/constellation/side-nav-items/expandable-menu-item-link-variant.tsx +0 -278
- package/examples/constellation/side-nav-items/flyout-menu-item.tsx +0 -156
- package/examples/constellation/side-nav-items/link-menu-item.tsx +0 -161
- package/examples/constellation/side-nav-items/menu-divider.tsx +0 -114
- package/examples/constellation/side-nav-items/menu-section.tsx +0 -177
- package/examples/constellation/side-nav-items/right-to-left.tsx +0 -144
- package/examples/constellation/side-nav-items/top-level-spacer.tsx +0 -82
- package/examples/constellation/side-nav-items/truncation.tsx +0 -58
- package/examples/constellation/top-nav-items/app-logo.tsx +0 -19
- package/examples/constellation/top-nav-items/custom-logo.tsx +0 -28
- package/examples/constellation/top-nav-items/custom-theming--buttons.tsx +0 -27
- package/examples/constellation/top-nav-items/custom-theming--logo.tsx +0 -27
- package/examples/constellation/top-nav-items/custom-theming--search.tsx +0 -28
- package/examples/constellation/top-nav-items/custom-title.tsx +0 -20
- package/examples/constellation/top-nav-items/end-item.tsx +0 -23
- package/examples/constellation/top-nav-items/top-nav-button.tsx +0 -34
- package/examples/constellation/top-nav-items/top-nav-end.tsx +0 -25
- package/examples/constellation/top-nav-items/top-nav-middle.tsx +0 -19
- package/examples/constellation/top-nav-items/top-nav-start.tsx +0 -31
- package/examples/drag-and-drop/jira/data.tsx +0 -320
- package/examples/drag-and-drop/jira/entry.tsx +0 -89
- package/examples/drag-and-drop/jira/filters/filter-move-modal.tsx +0 -171
- package/examples/drag-and-drop/jira/filters/filter-tree-utils.tsx +0 -134
- package/examples/drag-and-drop/jira/filters/filters-menu-item.tsx +0 -470
- package/examples/drag-and-drop/jira/for-you/for-you-menu-item.tsx +0 -74
- package/examples/drag-and-drop/jira/projects/project-tile.tsx +0 -37
- package/examples/drag-and-drop/jira/projects/project.tsx +0 -257
- package/examples/drag-and-drop/jira/projects/projects-menu-item.tsx +0 -120
- package/examples/drag-and-drop/jira/recent/recent-menu-item.tsx +0 -30
- package/examples/drag-and-drop/jira/reducer.tsx +0 -78
- package/examples/drag-and-drop/jira/registry.tsx +0 -52
- package/examples/drag-and-drop/jira/reorder-actions.tsx +0 -75
- package/examples/drag-and-drop/jira/shared-top-level-flyout.tsx +0 -144
- package/examples/drag-and-drop/jira/sidebar.tsx +0 -361
- package/examples/drag-and-drop/jira/starred/starred-menu-item.tsx +0 -29
- package/examples/drag-and-drop/jira/state-context.tsx +0 -34
- package/examples/drag-and-drop/jira/top-level-shared-more-menu.tsx +0 -99
- package/examples/drag-and-drop/sidebar-example-container.tsx +0 -38
- package/examples/drag-and-drop/simple.tsx +0 -653
- package/examples/drag-and-drop/standalone-jira-sidebar-centered.tsx +0 -27
- package/examples/drag-and-drop/standalone-jira-sidebar.tsx +0 -18
- package/examples/drag-and-drop-in-the-sidebar-flyout.tsx +0 -161
- package/examples/drag-and-drop-jira-scaling-vr.tsx +0 -25
- package/examples/drag-and-drop-jira-sidebar-centered.tsx +0 -1
- package/examples/drag-and-drop-jira-sidebar-standalone.tsx +0 -1
- package/examples/drag-and-drop-jira.tsx +0 -1
- package/examples/drag-and-drop.tsx +0 -1
- package/examples/expandable-menu-item.tsx +0 -775
- package/examples/flyout-menu-item-async-content.tsx +0 -118
- package/examples/flyout-menu-item-multiple.tsx +0 -180
- package/examples/flyout-menu-item.tsx +0 -269
- package/examples/images/200x20.png +0 -0
- package/examples/images/200x200.png +0 -0
- package/examples/images/20x20.png +0 -0
- package/examples/images/20x200.png +0 -0
- package/examples/images/cd.svg +0 -9
- package/examples/images/koala.png +0 -0
- package/examples/images/koala.svg +0 -9
- package/examples/images/money.svg +0 -9
- package/examples/images/science.svg +0 -20
- package/examples/interactive-layout.tsx +0 -286
- package/examples/layers-in-main.tsx +0 -294
- package/examples/legacy-var-testing.tsx +0 -173
- package/examples/link-menu-item.tsx +0 -383
- package/examples/main-content-border.tsx +0 -148
- package/examples/menu-item-avatar.tsx +0 -41
- package/examples/menu-item-conditional-tooltip.tsx +0 -304
- package/examples/menu-item-focus-ring-bleed.tsx +0 -50
- package/examples/menu-item-integration.tsx +0 -207
- package/examples/menu-item-narrow.tsx +0 -290
- package/examples/menu-item-scroll-into-view.tsx +0 -283
- package/examples/menu-items-deeply-nested.tsx +0 -330
- package/examples/menu-list.tsx +0 -62
- package/examples/menu-section.tsx +0 -78
- package/examples/page-layout-all-slots-banner-height-zero.tsx +0 -3
- package/examples/page-layout-all-slots-custom-sizes.tsx +0 -3
- package/examples/page-layout-all-slots-rtl.tsx +0 -3
- package/examples/page-layout-all-slots-scrollable.tsx +0 -3
- package/examples/page-layout-all-slots.tsx +0 -3
- package/examples/page-layout-aside-border.tsx +0 -149
- package/examples/page-layout-content-is-iframes.tsx +0 -3
- package/examples/page-layout-edge-case-absolute-positioned-collapsed-custom-sizes.tsx +0 -3
- package/examples/page-layout-edge-case-absolute-positioned-collapsed.tsx +0 -3
- package/examples/page-layout-edge-case-absolute-positioned-panel-visible.tsx +0 -3
- package/examples/page-layout-edge-case-absolute-positioned-resizable.tsx +0 -3
- package/examples/page-layout-edge-case-absolute-positioned.tsx +0 -3
- package/examples/page-layout-edge-case-using-legacy-vars.tsx +0 -3
- package/examples/page-layout-full-screen.tsx +0 -251
- package/examples/page-layout-implicit-rows.tsx +0 -33
- package/examples/page-layout-main-aside-scrollable.tsx +0 -3
- package/examples/page-layout-main-aside.tsx +0 -3
- package/examples/page-layout-panel-aside-default-widths.tsx +0 -241
- package/examples/page-layout-resizable-rtl.tsx +0 -3
- package/examples/page-layout-resizable.tsx +0 -3
- package/examples/page-layout-side-nav-collapse-shortcut.tsx +0 -47
- package/examples/page-layout-side-nav-content-scroll-with-sticky.tsx +0 -135
- package/examples/page-layout-side-nav-custom-width-greater-than-max.tsx +0 -3
- package/examples/page-layout-side-nav-custom-width-smaller-than-min.tsx +0 -3
- package/examples/page-layout-side-nav-main-aside-scrollable.tsx +0 -3
- package/examples/page-layout-side-nav-main-aside.tsx +0 -3
- package/examples/page-layout-side-nav-onboarding.tsx +0 -155
- package/examples/page-layout-side-nav-overflowing-children.tsx +0 -3
- package/examples/page-layout-side-nav-slots.tsx +0 -173
- package/examples/page-layout-side-nav-with-menu-items.tsx +0 -3
- package/examples/page-layout-top-bar-side-nav-main-aside-scrollable.tsx +0 -3
- package/examples/page-layout-top-bar-side-nav-main-aside.tsx +0 -3
- package/examples/page-layout-top-bar-side-nav-main-scrollable.tsx +0 -3
- package/examples/page-layout-top-bar-side-nav-main.tsx +0 -3
- package/examples/page-layout.tsx +0 -941
- package/examples/panel-splitter.tsx +0 -199
- package/examples/resizable-slots.tsx +0 -357
- package/examples/side-nav-flyout.tsx +0 -256
- package/examples/stand-alone-iframe.tsx +0 -23
- package/examples/temp-icons/app-switcher-legacy.tsx +0 -14
- package/examples/temp-icons/atlassian-intelligence.tsx +0 -14
- package/examples/temp-icons/help.tsx +0 -18
- package/examples/temp-icons/menu.tsx +0 -14
- package/examples/temp-icons/settings.tsx +0 -14
- package/examples/top-level-spacer.tsx +0 -55
- package/examples/top-nav-custom-profile-image.tsx +0 -71
- package/examples/top-nav-side-nav-collapsed.tsx +0 -74
- package/examples/top-nav-with-long-name.tsx +0 -63
- package/examples/top-nav-with-temp-nav-app-icon-app-logo.tsx +0 -65
- package/examples/top-nav-with-temp-nav-app-icon-custom-logo.tsx +0 -63
- package/examples/top-navigation-custom-logo.tsx +0 -108
- package/examples/top-navigation-stress.tsx +0 -244
- package/examples/top-navigation-themed-buttons.tsx +0 -63
- package/examples/top-navigation-theming-logged-out.tsx +0 -75
- package/examples/top-navigation-theming-with-picker.tsx +0 -128
- package/examples/top-navigation-theming.tsx +0 -197
- package/examples/top-navigation.tsx +0 -126
- package/examples/utils/example-utils.tsx +0 -14
- package/examples/utils/long-placeholder-content.tsx +0 -161
- package/examples/utils/mock-root.tsx +0 -19
- package/examples/utils/mock-search.tsx +0 -67
- 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
- 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
- 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
- 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
- package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile--mobile.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile-without-panel--mobile.png +0 -0
- 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
- 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
- package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items--default.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-chrome.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-firefox.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-webkit.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-chrome.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-firefox.png +0 -0
- package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-webkit.png +0 -0
- package/src/__tests__/informational-vr-tests/layering.vr.tsx +0 -76
- package/src/__tests__/informational-vr-tests/menu-items-deeply-nested.vr.tsx +0 -33
- package/src/__tests__/informational-vr-tests/sidebar-drag-and-drop.vr.tsx +0 -100
- package/src/__tests__/playwright/drag-and-drop-in-the-sidebar-flyout.spec.tsx +0 -235
- package/src/__tests__/playwright/expandable-menu-item.spec.tsx +0 -20
- package/src/__tests__/playwright/flyout-menu-item.spec.tsx +0 -22
- package/src/__tests__/playwright/legacy-vars.spec.tsx +0 -298
- package/src/__tests__/playwright/menu-item-in-sidebar-drag-and-drop.spec.tsx +0 -70
- package/src/__tests__/playwright/page-layout.spec.tsx +0 -23
- package/src/__tests__/playwright/panel.spec.tsx +0 -241
- package/src/__tests__/playwright/resizing.spec.tsx +0 -541
- package/src/__tests__/playwright/side-nav-flyout.spec.tsx +0 -223
- package/src/__tests__/playwright/side-nav-responsiveness.spec.tsx +0 -208
- package/src/__tests__/playwright/skip-links.spec.tsx +0 -111
- package/src/__tests__/playwright/top-nav-end.spec.tsx +0 -96
- package/src/__tests__/vr-tests/__snapshots__/a11y-scaling/app--desktop.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop-large.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--mobile.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop-large.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--mobile.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large-splitter.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--mobile.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop-large.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--mobile.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop-large.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--mobile.png +0 -0
- package/src/__tests__/vr-tests/__snapshots__/skip-links/skip-links--light-mode.png +0 -0
- package/src/__tests__/vr-tests/a11y-scaling.vr.tsx +0 -12
- package/src/__tests__/vr-tests/layering.vr.tsx +0 -82
- package/src/__tests__/vr-tests/skip-links.vr.tsx +0 -14
- package/src/components/__tests__/unit/badge-container.test.tsx +0 -62
- package/src/components/__tests__/unit/list.test.tsx +0 -74
- package/src/components/badge-container.tsx +0 -72
- package/src/components/forward-ref-with-generic.tsx +0 -8
- package/src/components/list-item.tsx +0 -39
- package/src/components/list.tsx +0 -44
- package/src/components/skip-links/__tests__/unit/skip-links-container.test.tsx +0 -411
- package/src/components/skip-links/skip-link.tsx +0 -140
- package/src/components/skip-links/skip-links-container.tsx +0 -112
- package/src/context/skip-links/skip-links-context.tsx +0 -74
- package/src/context/skip-links/skip-links-data-context.tsx +0 -41
- package/src/context/skip-links/skip-links-provider.tsx +0 -74
- package/src/context/skip-links/types.tsx +0 -29
- package/src/context/top-nav-start/top-nav-start-context-provider.tsx +0 -26
- package/src/context/top-nav-start/top-nav-start-context.tsx +0 -21
- package/src/entry-points/experimental/color-utils/parse-hex.tsx +0 -1
- package/src/entry-points/experimental/color-utils/parse-hsl.tsx +0 -1
- package/src/entry-points/experimental/color-utils/parse-rgb.tsx +0 -1
- package/src/entry-points/experimental/color-utils/parse-user-color.tsx +0 -1
- package/src/entry-points/experimental/top-nav-button.tsx +0 -6
- package/src/entry-points/experimental/use-has-custom-theme.tsx +0 -1
- package/src/entry-points/experimental/use-legacy-search-theme.tsx +0 -1
- package/src/entry-points/layout/aside.tsx +0 -1
- package/src/entry-points/layout/banner.tsx +0 -1
- package/src/entry-points/layout/main.tsx +0 -7
- package/src/entry-points/layout/panel-splitter.tsx +0 -3
- package/src/entry-points/layout/panel.tsx +0 -1
- package/src/entry-points/layout/root.tsx +0 -1
- package/src/entry-points/layout/side-nav.tsx +0 -7
- package/src/entry-points/layout/skip-links.tsx +0 -2
- package/src/entry-points/layout/top-nav.tsx +0 -4
- package/src/entry-points/side-nav-items/button-menu-item.tsx +0 -3
- package/src/entry-points/side-nav-items/container-avatar.tsx +0 -1
- package/src/entry-points/side-nav-items/drag-and-drop/drag-preview.tsx +0 -1
- package/src/entry-points/side-nav-items/drag-and-drop/drop-indicator.tsx +0 -5
- package/src/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.tsx +0 -1
- package/src/entry-points/side-nav-items/drag-and-drop/hitbox.tsx +0 -7
- package/src/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.tsx +0 -4
- package/src/entry-points/side-nav-items/expandable-menu-item.tsx +0 -13
- package/src/entry-points/side-nav-items/flyout-menu-item.tsx +0 -13
- package/src/entry-points/side-nav-items/link-menu-item.tsx +0 -3
- package/src/entry-points/side-nav-items/menu-list-item.tsx +0 -1
- package/src/entry-points/side-nav-items/menu-list.tsx +0 -1
- package/src/entry-points/side-nav-items/menu-section.tsx +0 -3
- package/src/entry-points/side-nav-items/top-level-spacer.tsx +0 -1
- package/src/entry-points/top-nav-items/create-button.tsx +0 -1
- package/src/entry-points/top-nav-items/custom-title.tsx +0 -1
- package/src/entry-points/top-nav-items/help.tsx +0 -1
- package/src/entry-points/top-nav-items/index.tsx +0 -14
- package/src/entry-points/top-nav-items/log-in.tsx +0 -1
- package/src/entry-points/top-nav-items/notifications.tsx +0 -1
- package/src/entry-points/top-nav-items/profile.tsx +0 -1
- package/src/entry-points/top-nav-items/settings.tsx +0 -1
- package/src/index.tsx +0 -74
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/long-content-after-short-skeleton--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/long-skeleton--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/short-content-after-long-skeleton--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/flyout-menu-item-async-content/short-skeleton--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/button-menu-item---disabled---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/button-menu-item---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---not-selectable---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---selectable---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---selected---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/flyout-menu-item---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/flyout-menu-item---selected---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---pressed--default.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-safari.png +0 -0
- package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---selected---pressed--default.png +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/src/ui/menu-item/__tests__/informational-vr-tests/flyout-menu-item-async-content.vr.tsx +0 -33
- package/src/ui/menu-item/__tests__/informational-vr-tests/menu-item-increased-hitbox.vr.tsx +0 -79
- package/src/ui/menu-item/__tests__/informational-vr-tests/menu-item.vr.tsx +0 -151
- package/src/ui/menu-item/__tests__/playwright/flyout-menu-item.spec.tsx +0 -38
- package/src/ui/menu-item/__tests__/playwright/scroll-into-view.spec.tsx +0 -91
- package/src/ui/menu-item/__tests__/unit/_util.tsx +0 -40
- package/src/ui/menu-item/__tests__/unit/expandable-menu-item.test.tsx +0 -1119
- package/src/ui/menu-item/__tests__/unit/flyout-menu-item.test.tsx +0 -545
- package/src/ui/menu-item/__tests__/unit/menu-item.test.tsx +0 -649
- package/src/ui/menu-item/__tests__/unit/top-level-spacer.test.tsx +0 -94
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-combine--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-combine--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-after--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-after--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-before--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-before--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-combine--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-combine--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-after--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-after--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-before--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-before--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-trigger--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-trigger--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-combine--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-combine--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-after--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-after--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-before--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-before--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-trigger--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-trigger--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine-blocked--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine-blocked--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after-blocked--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after-blocked--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before-blocked--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before-blocked--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---action-focused--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---action-hovered--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---default-state--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---elembefore-focused--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---elembefore-hovered--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---menu-item-focused--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---menu-item-hovered--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---selected-with-dropdown-action-open--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---with-dropdown-action-open--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---with-dropdown-action-open-and-hovered--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-collapsed-with-selected-child--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-actions-on-hover--default.png +0 -0
- 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
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-elem-after--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-nested--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-nested-rtl--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-selected--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-selected-with-icon--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover---hovered--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover---selected-and-hovered--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover--default.png +0 -0
- 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
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover-and-elem-after--default.png +0 -0
- 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
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-example--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-rtl--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-selected-vr--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-example--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-rtl--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-webkit.png +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-webkit.png +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-chrome.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-firefox.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-webkit.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-long---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-none---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-short---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-long---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-none---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-short---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item-add-action-button--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item-with-tooltip-disabled--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item--content-long---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item--content-short---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item-with-tooltip-disabled--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item--content-long---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item--content-short---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item-with-tooltip-disabled--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-long---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-none---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-short---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-long---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-none---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-short---default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item-with-tooltip-disabled--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/menu-item-button-with-nested-children--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/top-level-spacer/top-level-spacer-example--default.png +0 -0
- package/src/ui/menu-item/__tests__/vr-tests/drag-and-drop.vr.tsx +0 -172
- package/src/ui/menu-item/__tests__/vr-tests/expandable.vr.tsx +0 -248
- package/src/ui/menu-item/__tests__/vr-tests/flyout-menu-item.vr.tsx +0 -46
- package/src/ui/menu-item/__tests__/vr-tests/menu-item-conditional-tooltip.vr.tsx +0 -312
- package/src/ui/menu-item/__tests__/vr-tests/menu-item.vr.tsx +0 -210
- package/src/ui/menu-item/__tests__/vr-tests/top-level-spacer.vr.tsx +0 -17
- package/src/ui/menu-item/button-menu-item.tsx +0 -87
- package/src/ui/menu-item/constants.tsx +0 -15
- package/src/ui/menu-item/container-avatar.tsx +0 -39
- package/src/ui/menu-item/drag-and-drop/drag-preview.tsx +0 -98
- package/src/ui/menu-item/drag-and-drop/drop-indicator.tsx +0 -11
- package/src/ui/menu-item/drag-and-drop/group-drop-indicator.tsx +0 -7
- package/src/ui/menu-item/drag-and-drop/hitbox.tsx +0 -13
- package/src/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.tsx +0 -243
- package/src/ui/menu-item/drag-handle.tsx +0 -42
- package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-content.tsx +0 -84
- package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-context.tsx +0 -61
- package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.tsx +0 -9
- package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.tsx +0 -334
- package/src/ui/menu-item/expandable-menu-item/expandable-menu-item.tsx +0 -114
- package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-content.tsx +0 -188
- package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-context.tsx +0 -19
- package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.tsx +0 -124
- package/src/ui/menu-item/flyout-menu-item/flyout-menu-item.tsx +0 -98
- package/src/ui/menu-item/link-menu-item.tsx +0 -119
- package/src/ui/menu-item/menu-item-signals.tsx +0 -6
- package/src/ui/menu-item/menu-item.tsx +0 -848
- package/src/ui/menu-item/menu-list-item.tsx +0 -12
- package/src/ui/menu-item/menu-list.tsx +0 -12
- package/src/ui/menu-item/top-level-spacer.tsx +0 -49
- package/src/ui/menu-item/types.tsx +0 -181
- package/src/ui/menu-item/use-scroll-menu-item-into-view.tsx +0 -78
- package/src/ui/menu-section/__tests__/unit/menu-section.test.tsx +0 -96
- package/src/ui/menu-section/__tests__/vr-tests/__snapshots__/divider/divider--default.png +0 -0
- package/src/ui/menu-section/__tests__/vr-tests/__snapshots__/menu-section/menu-section-example--default.png +0 -0
- package/src/ui/menu-section/__tests__/vr-tests/divider.vr.tsx +0 -14
- package/src/ui/menu-section/__tests__/vr-tests/menu-section.vr.tsx +0 -14
- package/src/ui/menu-section/divider.tsx +0 -33
- package/src/ui/menu-section/menu-section-context.tsx +0 -15
- package/src/ui/menu-section/menu-section-heading.tsx +0 -43
- package/src/ui/menu-section/menu-section.tsx +0 -70
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg---composition--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg---with-min-widths--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md---composition--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md---with-min-widths--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-sm---with-min-widths--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-sm--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl---composition--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl---with-min-widths--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xs---with-min-widths--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xs--firefox.png +0 -0
- package/src/ui/page-layout/__tests__/informational-vr-tests/page-layout.vr.tsx +0 -53
- package/src/ui/page-layout/__tests__/informational-vr-tests/slot-borders.vr.tsx +0 -54
- package/src/ui/page-layout/__tests__/informational-vr-tests/top-nav.vr.tsx +0 -170
- package/src/ui/page-layout/__tests__/unit/_test-utils.tsx +0 -185
- package/src/ui/page-layout/__tests__/unit/aside.test.tsx +0 -21
- package/src/ui/page-layout/__tests__/unit/banner.test.tsx +0 -31
- package/src/ui/page-layout/__tests__/unit/get-width.test.tsx +0 -12
- package/src/ui/page-layout/__tests__/unit/hoist-utils.test.tsx +0 -85
- package/src/ui/page-layout/__tests__/unit/page-layout.test.tsx +0 -300
- package/src/ui/page-layout/__tests__/unit/panel-splitter-and-suspense.test.tsx +0 -43
- package/src/ui/page-layout/__tests__/unit/panel-splitter.test.tsx +0 -885
- package/src/ui/page-layout/__tests__/unit/panel.test.tsx +0 -63
- package/src/ui/page-layout/__tests__/unit/react-safety.test.tsx +0 -30
- package/src/ui/page-layout/__tests__/unit/resizing.test.tsx +0 -714
- package/src/ui/page-layout/__tests__/unit/side-nav-flyout.test.tsx +0 -1154
- package/src/ui/page-layout/__tests__/unit/side-nav.test.tsx +0 -771
- package/src/ui/page-layout/__tests__/unit/sticky-header.test.tsx +0 -43
- package/src/ui/page-layout/__tests__/unit/top-nav-end.test.tsx +0 -132
- package/src/ui/page-layout/__tests__/unit/top-nav.test.tsx +0 -28
- package/src/ui/page-layout/__tests__/unit/use-expand-side-nav.test.tsx +0 -278
- package/src/ui/page-layout/__tests__/unit/use-toggle-side-nav.test.tsx +0 -233
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled-side-nav-collapsed--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled-side-nav-collapsed--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-full-screen-mode--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-full-screen-mode--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-side-nav-collapsed--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-side-nav-collapsed--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-banner-height-zero--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-banner-height-zero--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-custom-sizes--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-custom-sizes--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-rtl--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-rtl--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/aside-composed-with-border--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/aside-composed-with-border--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-collapsed--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-collapsed--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-custom-sizes--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-custom-sizes--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-panel-visible--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-panel-visible--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-resizable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-resizable--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-using-legacy-vars--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-using-legacy-vars--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/page-layout-implicit-rows--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/page-layout-implicit-rows--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---default-widths--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---default-widths--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---zero-widths--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---zero-widths--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-default-background-color--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-default-background-color--mobile.png +0 -0
- 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
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/resizable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-content-slot---scroll-with-sticky-child--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-custom-width-greater-than-max-width--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-custom-width-smaller-than-min-width--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-overflowing-children--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-slots--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-with-menu-items--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-with-menu-items--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/focused-panel-splitter-with-position-end--default.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/focused-panel-splitter-with-position-start--default.png +0 -0
- 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
- 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
- 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
- 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
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-toggle-button-hovered--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-toggle-button-hovered--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer--mobile.png +0 -0
- 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
- 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
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-toggle-button-hovered--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-toggle-button-hovered--mobile.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer--desktop.png +0 -0
- package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer--mobile.png +0 -0
- 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
- 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
- package/src/ui/page-layout/__tests__/vr-tests/main-content-border.vr.tsx +0 -47
- package/src/ui/page-layout/__tests__/vr-tests/page-layout.vr.tsx +0 -266
- package/src/ui/page-layout/__tests__/vr-tests/panel-splitter.vr.tsx +0 -72
- package/src/ui/page-layout/__tests__/vr-tests/side-nav-flyout.vr.tsx +0 -170
- package/src/ui/page-layout/aside.tsx +0 -210
- package/src/ui/page-layout/banner.tsx +0 -91
- package/src/ui/page-layout/constants.tsx +0 -56
- package/src/ui/page-layout/hoist-slot-sizes-context.tsx +0 -7
- package/src/ui/page-layout/hoist-utils.tsx +0 -64
- package/src/ui/page-layout/id-utils.tsx +0 -33
- package/src/ui/page-layout/main/main-sticky-header.tsx +0 -45
- package/src/ui/page-layout/main/main.tsx +0 -93
- package/src/ui/page-layout/panel-splitter/context.tsx +0 -60
- package/src/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.tsx +0 -20
- package/src/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.tsx +0 -35
- package/src/ui/page-layout/panel-splitter/get-width.tsx +0 -33
- package/src/ui/page-layout/panel-splitter/keyboard-resize-manager.tsx +0 -89
- package/src/ui/page-layout/panel-splitter/panel-splitter.tsx +0 -560
- package/src/ui/page-layout/panel-splitter/provider.tsx +0 -66
- package/src/ui/page-layout/panel-splitter/types.tsx +0 -25
- package/src/ui/page-layout/panel.tsx +0 -308
- package/src/ui/page-layout/root.tsx +0 -162
- package/src/ui/page-layout/side-nav/element-context.tsx +0 -18
- package/src/ui/page-layout/side-nav/flyout-close-delay-ms.tsx +0 -12
- package/src/ui/page-layout/side-nav/side-nav-content.tsx +0 -57
- package/src/ui/page-layout/side-nav/side-nav-footer.tsx +0 -48
- package/src/ui/page-layout/side-nav/side-nav-header.tsx +0 -32
- package/src/ui/page-layout/side-nav/side-nav.tsx +0 -876
- package/src/ui/page-layout/side-nav/toggle-button-context.tsx +0 -21
- package/src/ui/page-layout/side-nav/toggle-button-provider.tsx +0 -28
- package/src/ui/page-layout/side-nav/toggle-button.tsx +0 -166
- package/src/ui/page-layout/side-nav/types.tsx +0 -18
- package/src/ui/page-layout/side-nav/use-expand-side-nav.tsx +0 -57
- package/src/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.tsx +0 -75
- package/src/ui/page-layout/side-nav/use-side-nav-visibility.tsx +0 -43
- package/src/ui/page-layout/side-nav/use-toggle-side-nav.tsx +0 -47
- package/src/ui/page-layout/side-nav/visibility-context.tsx +0 -17
- package/src/ui/page-layout/side-nav/visibility-provider.tsx +0 -20
- package/src/ui/page-layout/top-nav/top-nav-end.tsx +0 -155
- package/src/ui/page-layout/top-nav/top-nav-middle.tsx +0 -90
- package/src/ui/page-layout/top-nav/top-nav-start.tsx +0 -82
- package/src/ui/page-layout/top-nav/top-nav.tsx +0 -127
- package/src/ui/page-layout/types.tsx +0 -20
- package/src/ui/page-layout/use-resizing-width-css-var-on-root-element.tsx +0 -70
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/long-product-name-tooltip--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover---custom-theming--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover---custom-theming--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed---custom-theming--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed---custom-theming--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/responsive-menu-items--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/responsive-menu-items-on-click--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/informational-vr-tests/top-navigation.vr.tsx +0 -120
- package/src/ui/top-nav-items/__tests__/playwright/theming.spec.tsx +0 -21
- package/src/ui/top-nav-items/__tests__/unit/chat-button.test.tsx +0 -40
- package/src/ui/top-nav-items/__tests__/unit/create-button.test.tsx +0 -34
- package/src/ui/top-nav-items/__tests__/unit/end-item.test.tsx +0 -43
- package/src/ui/top-nav-items/__tests__/unit/help.test.tsx +0 -101
- package/src/ui/top-nav-items/__tests__/unit/notifications.test.tsx +0 -63
- package/src/ui/top-nav-items/__tests__/unit/profile.test.tsx +0 -65
- package/src/ui/top-nav-items/__tests__/unit/settings.test.tsx +0 -51
- package/src/ui/top-nav-items/__tests__/unit/theming.test.tsx +0 -76
- package/src/ui/top-nav-items/__tests__/unit/top-nav-items.test.tsx +0 -181
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/log-in-button--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/search-right-elem--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-an-hsl-color--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-an-rgb-color--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-customlogo--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-button-focus-state--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-button-hover-state--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-create-button-hover-state--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-link-button-focus-state--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-link-button-hover-state--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-search-focus-state--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theming-is-enabled--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-custom-profile-image--default.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-side-nav-collapsed--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-side-nav-collapsed--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-example--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-example--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x200example--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x200example--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x20example--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image200x20example--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x200example--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x200example--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x20example--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo-image20x20example--mobile.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--desktop.png +0 -0
- package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--mobile.png +0 -0
- 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
- package/src/ui/top-nav-items/__tests__/vr-tests/top-navigation.vr.tsx +0 -160
- package/src/ui/top-nav-items/app-switcher.tsx +0 -81
- package/src/ui/top-nav-items/chat-button.tsx +0 -49
- package/src/ui/top-nav-items/create-button.tsx +0 -51
- package/src/ui/top-nav-items/custom-title.tsx +0 -83
- package/src/ui/top-nav-items/end-item.tsx +0 -120
- package/src/ui/top-nav-items/help.tsx +0 -69
- package/src/ui/top-nav-items/log-in.tsx +0 -66
- package/src/ui/top-nav-items/nav-logo/app-logo.tsx +0 -203
- package/src/ui/top-nav-items/nav-logo/custom-logo.tsx +0 -252
- package/src/ui/top-nav-items/nav-logo/logo-renderer.tsx +0 -66
- package/src/ui/top-nav-items/notifications.tsx +0 -67
- package/src/ui/top-nav-items/profile.tsx +0 -26
- package/src/ui/top-nav-items/search.tsx +0 -124
- package/src/ui/top-nav-items/settings.tsx +0 -16
- package/src/ui/top-nav-items/themed/__tests__/unit/button.test.tsx +0 -57
- package/src/ui/top-nav-items/themed/__tests__/unit/use-custom-theme.test.tsx +0 -43
- package/src/ui/top-nav-items/themed/button.tsx +0 -576
- package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/hex.test.tsx +0 -131
- package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/hsl.test.tsx +0 -117
- package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/rgb.test.tsx +0 -88
- package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/try-parse-user-color.test.tsx +0 -35
- package/src/ui/top-nav-items/themed/color-utils/formats/hex.tsx +0 -47
- package/src/ui/top-nav-items/themed/color-utils/formats/hsl.tsx +0 -112
- package/src/ui/top-nav-items/themed/color-utils/formats/rgb.tsx +0 -41
- package/src/ui/top-nav-items/themed/color-utils/index.tsx +0 -111
- package/src/ui/top-nav-items/themed/color-utils/parse-user-color.tsx +0 -31
- package/src/ui/top-nav-items/themed/color-utils/types.tsx +0 -6
- package/src/ui/top-nav-items/themed/get-custom-theme-styles.tsx +0 -186
- package/src/ui/top-nav-items/themed/has-custom-theme-context.tsx +0 -13
- package/src/ui/top-nav-items/themed/migration.tsx +0 -70
- package/src/ui/top-nav-items/themed/palette.tsx +0 -53
- package/src/ui/top-nav-items/themed/search.tsx +0 -70
- package/src/ui/top-nav-items/themed/use-custom-theme.tsx +0 -51
- package/tsconfig.app.json +0 -91
- package/tsconfig.dev.json +0 -175
- package/tsconfig.json +0 -20
|
@@ -1,541 +0,0 @@
|
|
|
1
|
-
import invariant from 'tiny-invariant';
|
|
2
|
-
|
|
3
|
-
import { expect, test } from '@af/integration-testing';
|
|
4
|
-
|
|
5
|
-
const desktopViewport = { width: 1366, height: 768 };
|
|
6
|
-
// Wide viewport is required when Panel should not be an overlay
|
|
7
|
-
const extraWideViewport = { width: 1500, height: 768 };
|
|
8
|
-
|
|
9
|
-
test.describe('resizing', () => {
|
|
10
|
-
test.beforeEach(async ({ page }) => {
|
|
11
|
-
await page.visitExample('design-system', 'navigation-system', 'resizable-slots');
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
test.describe('side nav - mouse resizing', () => {
|
|
15
|
-
test('should be resizable', async ({ page }) => {
|
|
16
|
-
const sideNavPanelSplitter = page
|
|
17
|
-
.getByTestId('side-nav-slot-panel-splitter')
|
|
18
|
-
.and(page.locator('[draggable="true"]'));
|
|
19
|
-
await sideNavPanelSplitter.waitFor();
|
|
20
|
-
|
|
21
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
22
|
-
const sideNavRectBeforeResize = await sideNav.boundingBox();
|
|
23
|
-
invariant(sideNavRectBeforeResize, 'Could not obtain bounding box from side nav');
|
|
24
|
-
|
|
25
|
-
// Width should be 320px by default (defined in the example)
|
|
26
|
-
expect(sideNavRectBeforeResize.width).toBe(320);
|
|
27
|
-
|
|
28
|
-
// Start drag from the middle of the right edge of side nav
|
|
29
|
-
const dragStartPosition = {
|
|
30
|
-
x: sideNavRectBeforeResize.x + sideNavRectBeforeResize.width,
|
|
31
|
-
y: sideNavRectBeforeResize.y + sideNavRectBeforeResize.height / 2,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// End drag 100px to the right (increasing width)
|
|
35
|
-
const dragEndPosition = {
|
|
36
|
-
x: dragStartPosition.x + 100,
|
|
37
|
-
y: dragStartPosition.y,
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
41
|
-
await page.mouse.down();
|
|
42
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
46
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
47
|
-
*
|
|
48
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
49
|
-
* https://playwright.dev/docs/actionability#stable
|
|
50
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
51
|
-
*/
|
|
52
|
-
let handle = await sideNavPanelSplitter.elementHandle();
|
|
53
|
-
await handle?.waitForElementState('stable');
|
|
54
|
-
|
|
55
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
56
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
57
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
58
|
-
handle = await sideNavPanelSplitter.elementHandle();
|
|
59
|
-
await handle?.waitForElementState('stable');
|
|
60
|
-
|
|
61
|
-
// End drag
|
|
62
|
-
await page.mouse.up();
|
|
63
|
-
|
|
64
|
-
// Width should now be 420px
|
|
65
|
-
await expect(sideNav).toHaveWidth(420);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
test('should not be resizable past the max resize limit', async ({ page }) => {
|
|
69
|
-
// We are explicitly setting the viewport size so we know the max resize bound, as it is based on the viewport width.
|
|
70
|
-
await page.setViewportSize(desktopViewport);
|
|
71
|
-
const expectedMaxWidth = desktopViewport.width / 2;
|
|
72
|
-
|
|
73
|
-
const sideNavPanelSplitter = page
|
|
74
|
-
.getByTestId('side-nav-slot-panel-splitter')
|
|
75
|
-
.and(page.locator('[draggable="true"]'));
|
|
76
|
-
await sideNavPanelSplitter.waitFor();
|
|
77
|
-
|
|
78
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
79
|
-
const sideNavRectBeforeResize = await sideNav.boundingBox();
|
|
80
|
-
invariant(sideNavRectBeforeResize, 'Could not obtain bounding box from side nav');
|
|
81
|
-
|
|
82
|
-
// Width should be 320px by default (defined in the example)
|
|
83
|
-
expect(sideNavRectBeforeResize.width).toBe(320);
|
|
84
|
-
|
|
85
|
-
// Start drag from the middle of the right edge of side nav
|
|
86
|
-
const dragStartPosition = {
|
|
87
|
-
x: sideNavRectBeforeResize.x + sideNavRectBeforeResize.width,
|
|
88
|
-
y: sideNavRectBeforeResize.y + sideNavRectBeforeResize.height / 2,
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// Drag 500px to the right (past the max width)
|
|
92
|
-
const dragEndPosition = {
|
|
93
|
-
x: dragStartPosition.x + 500,
|
|
94
|
-
y: dragStartPosition.y,
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
98
|
-
await page.mouse.down();
|
|
99
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
103
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
104
|
-
*
|
|
105
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
106
|
-
* https://playwright.dev/docs/actionability#stable
|
|
107
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
108
|
-
*/
|
|
109
|
-
let handle = await sideNavPanelSplitter.elementHandle();
|
|
110
|
-
await handle?.waitForElementState('stable');
|
|
111
|
-
|
|
112
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
113
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
114
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
115
|
-
handle = await sideNavPanelSplitter.elementHandle();
|
|
116
|
-
await handle?.waitForElementState('stable');
|
|
117
|
-
|
|
118
|
-
// End drag
|
|
119
|
-
await page.mouse.up();
|
|
120
|
-
|
|
121
|
-
// Width should now be at the max width
|
|
122
|
-
await expect(sideNav).toHaveWidth(expectedMaxWidth);
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
test('should not be resizable below the min resize limit', async ({ page }) => {
|
|
126
|
-
const sideNavPanelSplitter = page
|
|
127
|
-
.getByTestId('side-nav-slot-panel-splitter')
|
|
128
|
-
.and(page.locator('[draggable="true"]'));
|
|
129
|
-
await sideNavPanelSplitter.waitFor();
|
|
130
|
-
|
|
131
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
132
|
-
const sideNavRectBeforeResize = await sideNav.boundingBox();
|
|
133
|
-
invariant(sideNavRectBeforeResize, 'Could not obtain bounding box from side nav');
|
|
134
|
-
|
|
135
|
-
// Width should be 320px by default (defined in the example)
|
|
136
|
-
expect(sideNavRectBeforeResize.width).toBe(320);
|
|
137
|
-
|
|
138
|
-
// Start drag from the middle of the right edge of side nav
|
|
139
|
-
const dragStartPosition = {
|
|
140
|
-
x: sideNavRectBeforeResize.x + sideNavRectBeforeResize.width,
|
|
141
|
-
y: sideNavRectBeforeResize.y + sideNavRectBeforeResize.height / 2,
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
// Drag 200px to the left (below the min width)
|
|
145
|
-
const dragEndPosition = {
|
|
146
|
-
x: dragStartPosition.x - 200,
|
|
147
|
-
y: dragStartPosition.y,
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
151
|
-
await page.mouse.down();
|
|
152
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
156
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
157
|
-
*
|
|
158
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
159
|
-
* https://playwright.dev/docs/actionability#stable
|
|
160
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
161
|
-
*/
|
|
162
|
-
let handle = await sideNavPanelSplitter.elementHandle();
|
|
163
|
-
await handle?.waitForElementState('stable');
|
|
164
|
-
|
|
165
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
166
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
167
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
168
|
-
handle = await sideNavPanelSplitter.elementHandle();
|
|
169
|
-
await handle?.waitForElementState('stable');
|
|
170
|
-
|
|
171
|
-
// End drag
|
|
172
|
-
await page.mouse.up();
|
|
173
|
-
|
|
174
|
-
// Width should now be at the min width (defined in side-nav.tsx)
|
|
175
|
-
await expect(sideNav).toHaveWidth(240);
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
test('should close any open layers from inside the side nav when resizing', async ({
|
|
179
|
-
page,
|
|
180
|
-
}) => {
|
|
181
|
-
// Open the side nav flyout menu item
|
|
182
|
-
await page.getByRole('button', { name: /Recent/ }).click();
|
|
183
|
-
|
|
184
|
-
const flyoutMenuItemContent = page.getByRole('button', { name: /View all recent items/ });
|
|
185
|
-
// The flyout menu should be visible
|
|
186
|
-
await expect(flyoutMenuItemContent).toBeVisible();
|
|
187
|
-
|
|
188
|
-
// Start drag
|
|
189
|
-
const sideNavPanelSplitter = page
|
|
190
|
-
.getByTestId('side-nav-slot-panel-splitter')
|
|
191
|
-
.and(page.locator('[draggable="true"]'));
|
|
192
|
-
await sideNavPanelSplitter.waitFor();
|
|
193
|
-
|
|
194
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
195
|
-
const sideNavRectBeforeResize = await sideNav.boundingBox();
|
|
196
|
-
invariant(sideNavRectBeforeResize, 'Could not obtain bounding box from side nav');
|
|
197
|
-
|
|
198
|
-
// Width should be 320px by default (defined in the example)
|
|
199
|
-
expect(sideNavRectBeforeResize.width).toBe(320);
|
|
200
|
-
|
|
201
|
-
// Start drag from the middle of the right edge of side nav
|
|
202
|
-
const dragStartPosition = {
|
|
203
|
-
x: sideNavRectBeforeResize.x + sideNavRectBeforeResize.width,
|
|
204
|
-
y: sideNavRectBeforeResize.y + sideNavRectBeforeResize.height / 2,
|
|
205
|
-
};
|
|
206
|
-
|
|
207
|
-
// End drag 100px to the right (increasing width)
|
|
208
|
-
const dragEndPosition = {
|
|
209
|
-
x: dragStartPosition.x + 100,
|
|
210
|
-
y: dragStartPosition.y,
|
|
211
|
-
};
|
|
212
|
-
|
|
213
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
214
|
-
await page.mouse.down();
|
|
215
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
219
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
220
|
-
*
|
|
221
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
222
|
-
* https://playwright.dev/docs/actionability#stable
|
|
223
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
224
|
-
*/
|
|
225
|
-
let handle = await sideNavPanelSplitter.elementHandle();
|
|
226
|
-
await handle?.waitForElementState('stable');
|
|
227
|
-
|
|
228
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
229
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
230
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
231
|
-
handle = await sideNavPanelSplitter.elementHandle();
|
|
232
|
-
await handle?.waitForElementState('stable');
|
|
233
|
-
|
|
234
|
-
// The flyout menu should be closed, before the drag ends
|
|
235
|
-
await expect(flyoutMenuItemContent).toBeHidden();
|
|
236
|
-
|
|
237
|
-
// End drag
|
|
238
|
-
await page.mouse.up();
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
test('should close any open layers from outside the side nav when resizing', async ({
|
|
242
|
-
page,
|
|
243
|
-
}) => {
|
|
244
|
-
// We are explicitly setting the viewport size to extra wide, so we can prevent the `Panel` slot from
|
|
245
|
-
// overlaying over the grid - otherwise it will overlay the "Open settings" button in Aside.
|
|
246
|
-
await page.setViewportSize(extraWideViewport);
|
|
247
|
-
|
|
248
|
-
// Open the dropdown menu from Aside slot
|
|
249
|
-
await page.getByRole('button', { name: /Open settings/ }).click();
|
|
250
|
-
|
|
251
|
-
// The dropdown content should now be visible
|
|
252
|
-
const dropdownContent = page.getByRole('menuitem', { name: /Permissions/ });
|
|
253
|
-
await expect(dropdownContent).toBeVisible();
|
|
254
|
-
|
|
255
|
-
// Start drag
|
|
256
|
-
const sideNavPanelSplitter = page
|
|
257
|
-
.getByTestId('side-nav-slot-panel-splitter')
|
|
258
|
-
.and(page.locator('[draggable="true"]'));
|
|
259
|
-
await sideNavPanelSplitter.waitFor();
|
|
260
|
-
|
|
261
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
262
|
-
const sideNavRectBeforeResize = await sideNav.boundingBox();
|
|
263
|
-
invariant(sideNavRectBeforeResize, 'Could not obtain bounding box from side nav');
|
|
264
|
-
|
|
265
|
-
// Width should be 320px by default (defined in the example)
|
|
266
|
-
expect(sideNavRectBeforeResize.width).toBe(320);
|
|
267
|
-
|
|
268
|
-
// Start drag from the middle of the right edge of side nav
|
|
269
|
-
const dragStartPosition = {
|
|
270
|
-
x: sideNavRectBeforeResize.x + sideNavRectBeforeResize.width,
|
|
271
|
-
y: sideNavRectBeforeResize.y + sideNavRectBeforeResize.height / 2,
|
|
272
|
-
};
|
|
273
|
-
|
|
274
|
-
// End drag 100px to the right (increasing width)
|
|
275
|
-
const dragEndPosition = {
|
|
276
|
-
x: dragStartPosition.x + 100,
|
|
277
|
-
y: dragStartPosition.y,
|
|
278
|
-
};
|
|
279
|
-
|
|
280
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
281
|
-
await page.mouse.down();
|
|
282
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
286
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
287
|
-
*
|
|
288
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
289
|
-
* https://playwright.dev/docs/actionability#stable
|
|
290
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
291
|
-
*/
|
|
292
|
-
let handle = await sideNavPanelSplitter.elementHandle();
|
|
293
|
-
await handle?.waitForElementState('stable');
|
|
294
|
-
|
|
295
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
296
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
297
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
298
|
-
handle = await sideNavPanelSplitter.elementHandle();
|
|
299
|
-
await handle?.waitForElementState('stable');
|
|
300
|
-
|
|
301
|
-
// The dropdown content should be closed, before the drag ends
|
|
302
|
-
await expect(dropdownContent).toBeHidden();
|
|
303
|
-
|
|
304
|
-
// End drag
|
|
305
|
-
await page.mouse.up();
|
|
306
|
-
});
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
test.describe('side nav - keyboard resizing', () => {
|
|
310
|
-
test('should be resizable', async ({ page }) => {
|
|
311
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
312
|
-
|
|
313
|
-
// Width should be 320px by default (defined in the example)
|
|
314
|
-
await expect(sideNav).toHaveWidth(320);
|
|
315
|
-
|
|
316
|
-
const inputRange = page.getByRole('slider', { name: 'Resize sidebar' });
|
|
317
|
-
// Increase width by 1 step (20px)
|
|
318
|
-
await inputRange.press('ArrowRight');
|
|
319
|
-
|
|
320
|
-
// Width should now be 340px
|
|
321
|
-
await expect(sideNav).toHaveWidth(340);
|
|
322
|
-
|
|
323
|
-
// Increase width by another 2 steps (40px)
|
|
324
|
-
await inputRange.press('ArrowRight');
|
|
325
|
-
await inputRange.press('ArrowRight');
|
|
326
|
-
|
|
327
|
-
await expect(sideNav).toHaveWidth(380);
|
|
328
|
-
|
|
329
|
-
// Decrease width by 4 steps
|
|
330
|
-
await inputRange.press('ArrowLeft');
|
|
331
|
-
await inputRange.press('ArrowLeft');
|
|
332
|
-
await inputRange.press('ArrowLeft');
|
|
333
|
-
await inputRange.press('ArrowLeft');
|
|
334
|
-
|
|
335
|
-
await expect(sideNav).toHaveWidth(300);
|
|
336
|
-
});
|
|
337
|
-
|
|
338
|
-
test('should not be resizable above the max limit', async ({ page }) => {
|
|
339
|
-
// We are explicitly setting the viewport size so we know the max resize bound, as it is based on the viewport width.
|
|
340
|
-
await page.setViewportSize(desktopViewport);
|
|
341
|
-
const maxResizeLimit = desktopViewport.width / 2;
|
|
342
|
-
|
|
343
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
344
|
-
|
|
345
|
-
// Width should be 320px by default (defined in the example)
|
|
346
|
-
await expect(sideNav).toHaveWidth(320);
|
|
347
|
-
|
|
348
|
-
// The `max` limit of the slider element should be 50% of the viewport width
|
|
349
|
-
const inputRange = page.getByRole('slider', { name: 'Resize sidebar' });
|
|
350
|
-
// Focus on the input range to ensure the max value is calculated and updated
|
|
351
|
-
await inputRange.focus();
|
|
352
|
-
await expect(inputRange).toHaveAttribute('max', maxResizeLimit.toString());
|
|
353
|
-
|
|
354
|
-
// Press the arrow key 20 times to increase the width by 400px, to attempt to go above the max width
|
|
355
|
-
for (let i = 0; i < 20; i++) {
|
|
356
|
-
await inputRange.press('ArrowRight');
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
// Width should now be 680px. The max width is 50% of the viewport width (1366 / 2 = 683), but because the range input's
|
|
360
|
-
// `step` is 20px, so will not be exactly the max if it isn't divisible by 20.
|
|
361
|
-
const expectedMaxWidth = maxResizeLimit - (maxResizeLimit % 20);
|
|
362
|
-
|
|
363
|
-
await expect(sideNav).toHaveWidth(expectedMaxWidth);
|
|
364
|
-
});
|
|
365
|
-
|
|
366
|
-
test('should not be resizable below the min limit', async ({ page }) => {
|
|
367
|
-
const sideNav = page.getByRole('navigation', { name: 'Side navigation' });
|
|
368
|
-
|
|
369
|
-
// Width should be 320px by default (defined in the example)
|
|
370
|
-
await expect(sideNav).toHaveWidth(320);
|
|
371
|
-
|
|
372
|
-
// The `min` limit of the slider element should be 240 (defined in side-nav.tsx)
|
|
373
|
-
const inputRange = page.getByRole('slider', { name: 'Resize sidebar' });
|
|
374
|
-
// Focus on the input range to ensure the max value is calculated and updated
|
|
375
|
-
await inputRange.focus();
|
|
376
|
-
await expect(inputRange).toHaveAttribute('min', '240');
|
|
377
|
-
|
|
378
|
-
// Press the arrow key 10 times to decrease the width by 200px, to attempt to go below the min width
|
|
379
|
-
for (let i = 0; i < 10; i++) {
|
|
380
|
-
await inputRange.press('ArrowLeft');
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
// Width should now be 240px (the min width). The max width is 50% of the viewport width (1366 / 2 = 683), but because the range input's
|
|
384
|
-
await expect(sideNav).toHaveWidth(240);
|
|
385
|
-
});
|
|
386
|
-
|
|
387
|
-
test('should update the resize bounds and value text when the viewport is resized and the slider element is focused', async ({
|
|
388
|
-
page,
|
|
389
|
-
}) => {
|
|
390
|
-
await page.setViewportSize(desktopViewport);
|
|
391
|
-
const expectedDesktopBounds = {
|
|
392
|
-
max: desktopViewport.width / 2, // This comes from the 50vw max resize bound in side-nav.tsx
|
|
393
|
-
min: 240, // This comes from the 240px min resize bound in side-nav.tsx
|
|
394
|
-
};
|
|
395
|
-
|
|
396
|
-
const inputRange = page.getByRole('slider', { name: 'Resize sidebar' });
|
|
397
|
-
// Focus on the input range to ensure the max value is recalculated when the viewport is resized
|
|
398
|
-
await inputRange.focus();
|
|
399
|
-
await expect(inputRange).toHaveAttribute('max', expectedDesktopBounds.max.toString());
|
|
400
|
-
await expect(inputRange).toHaveAttribute('min', expectedDesktopBounds.min.toString());
|
|
401
|
-
await expect(inputRange).toHaveAttribute('aria-valuetext', '18% width');
|
|
402
|
-
|
|
403
|
-
// Resize the viewport to a smaller size
|
|
404
|
-
const narrowViewportSize = { width: 1024, height: 768 };
|
|
405
|
-
await page.setViewportSize(narrowViewportSize);
|
|
406
|
-
const expectedNarrowBounds = {
|
|
407
|
-
max: narrowViewportSize.width / 2,
|
|
408
|
-
min: 240,
|
|
409
|
-
};
|
|
410
|
-
|
|
411
|
-
await expect(inputRange).toHaveAttribute('max', expectedNarrowBounds.max.toString());
|
|
412
|
-
await expect(inputRange).toHaveAttribute('min', expectedNarrowBounds.min.toString());
|
|
413
|
-
await expect(inputRange).toHaveAttribute('aria-valuetext', '29% width');
|
|
414
|
-
|
|
415
|
-
// Blur the input range and resize back to the initial viewport size, to verify that the attributes are _not_ recalculated unless focused
|
|
416
|
-
await inputRange.blur();
|
|
417
|
-
await page.setViewportSize(desktopViewport);
|
|
418
|
-
|
|
419
|
-
// Attributes should not have changed
|
|
420
|
-
await expect(inputRange).toHaveAttribute('max', expectedNarrowBounds.max.toString());
|
|
421
|
-
await expect(inputRange).toHaveAttribute('min', expectedNarrowBounds.min.toString());
|
|
422
|
-
await expect(inputRange).toHaveAttribute('aria-valuetext', '29% width');
|
|
423
|
-
|
|
424
|
-
// Focus on the input range, and now the attributes should be updated
|
|
425
|
-
await inputRange.focus();
|
|
426
|
-
await expect(inputRange).toHaveAttribute('max', expectedDesktopBounds.max.toString());
|
|
427
|
-
await expect(inputRange).toHaveAttribute('min', expectedDesktopBounds.min.toString());
|
|
428
|
-
await expect(inputRange).toHaveAttribute('aria-valuetext', '18% width');
|
|
429
|
-
});
|
|
430
|
-
});
|
|
431
|
-
|
|
432
|
-
test.describe('aside', () => {
|
|
433
|
-
test('should be resizable', async ({ page }) => {
|
|
434
|
-
const asideResizeElement = page
|
|
435
|
-
.getByTestId('aside-slot-panel-splitter')
|
|
436
|
-
.and(page.locator('[draggable="true"]'));
|
|
437
|
-
await asideResizeElement.waitFor();
|
|
438
|
-
|
|
439
|
-
const aside = page.getByRole('complementary', { name: 'Aside' });
|
|
440
|
-
const asideRectBeforeResize = await aside.boundingBox();
|
|
441
|
-
invariant(asideRectBeforeResize, 'Could not obtain bounding box from aside');
|
|
442
|
-
|
|
443
|
-
// Width should be 400px by default (defined in the example)
|
|
444
|
-
expect(asideRectBeforeResize.width).toBe(400);
|
|
445
|
-
|
|
446
|
-
// Start drag from the middle of the left edge of the aside
|
|
447
|
-
const dragStartPosition = {
|
|
448
|
-
x: asideRectBeforeResize.x,
|
|
449
|
-
y: asideRectBeforeResize.y + asideRectBeforeResize.height / 2,
|
|
450
|
-
};
|
|
451
|
-
|
|
452
|
-
// End drag 100px to the left of start position (increasing width)
|
|
453
|
-
const dragEndPosition = {
|
|
454
|
-
x: dragStartPosition.x - 100,
|
|
455
|
-
y: dragStartPosition.y,
|
|
456
|
-
};
|
|
457
|
-
|
|
458
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
459
|
-
await page.mouse.down();
|
|
460
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
461
|
-
|
|
462
|
-
/**
|
|
463
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
464
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
465
|
-
*
|
|
466
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
467
|
-
* https://playwright.dev/docs/actionability#stable
|
|
468
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
469
|
-
*/
|
|
470
|
-
let handle = await asideResizeElement.elementHandle();
|
|
471
|
-
await handle?.waitForElementState('stable');
|
|
472
|
-
|
|
473
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
474
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
475
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
476
|
-
handle = await asideResizeElement.elementHandle();
|
|
477
|
-
await handle?.waitForElementState('stable');
|
|
478
|
-
|
|
479
|
-
// End drag
|
|
480
|
-
await page.mouse.up();
|
|
481
|
-
|
|
482
|
-
// Width should now be 500px
|
|
483
|
-
await expect(aside).toHaveWidth(500);
|
|
484
|
-
});
|
|
485
|
-
});
|
|
486
|
-
|
|
487
|
-
test.describe('panel', () => {
|
|
488
|
-
test('should be resizable', async ({ page }) => {
|
|
489
|
-
const panelResizeElement = page
|
|
490
|
-
.getByTestId('panel-slot-panel-splitter')
|
|
491
|
-
.and(page.locator('[draggable="true"]'));
|
|
492
|
-
await panelResizeElement.waitFor();
|
|
493
|
-
|
|
494
|
-
const panel = page.getByRole('region', { name: 'Panel' });
|
|
495
|
-
const panelRectBeforeResize = await panel.boundingBox();
|
|
496
|
-
invariant(panelRectBeforeResize, 'Could not obtain bounding box from panel');
|
|
497
|
-
|
|
498
|
-
// Width should be 350px by default (defined in the example)
|
|
499
|
-
expect(panelRectBeforeResize.width).toBe(350);
|
|
500
|
-
|
|
501
|
-
// Start drag from the middle of the left edge of the panel
|
|
502
|
-
const dragStartPosition = {
|
|
503
|
-
x: panelRectBeforeResize.x,
|
|
504
|
-
y: panelRectBeforeResize.y + panelRectBeforeResize.height / 2,
|
|
505
|
-
};
|
|
506
|
-
|
|
507
|
-
// End drag 100px to the left of start position (increasing width)
|
|
508
|
-
const dragEndPosition = {
|
|
509
|
-
x: dragStartPosition.x - 100,
|
|
510
|
-
y: dragStartPosition.y,
|
|
511
|
-
};
|
|
512
|
-
|
|
513
|
-
await page.mouse.move(dragStartPosition.x, dragStartPosition.y);
|
|
514
|
-
await page.mouse.down();
|
|
515
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
516
|
-
|
|
517
|
-
/**
|
|
518
|
-
* pragmatic-drag-and-drop throttles `drag` events using requestAnimationFrame, so we need to ensure the test waits for some
|
|
519
|
-
* frames to pass before ending the drag. Otherwise, the test can be flaky - the `onDrag` callback is sometimes not called.
|
|
520
|
-
*
|
|
521
|
-
* The `stable` element state means the element has maintained the same bounding box for at least two consecutive animation frames.
|
|
522
|
-
* https://playwright.dev/docs/actionability#stable
|
|
523
|
-
* An alternative is waiting for an arbitrary amount of time, e.g. `await page.waitForTimeout(50)`
|
|
524
|
-
*/
|
|
525
|
-
let handle = await panelResizeElement.elementHandle();
|
|
526
|
-
await handle?.waitForElementState('stable');
|
|
527
|
-
|
|
528
|
-
// Two mouse moves are needed to ensure the dragover event is dispatched for all browsers
|
|
529
|
-
// https://playwright.dev/docs/input#dragging-manually
|
|
530
|
-
await page.mouse.move(dragEndPosition.x, dragEndPosition.y);
|
|
531
|
-
handle = await panelResizeElement.elementHandle();
|
|
532
|
-
await handle?.waitForElementState('stable');
|
|
533
|
-
|
|
534
|
-
// End drag
|
|
535
|
-
await page.mouse.up();
|
|
536
|
-
|
|
537
|
-
// Width should now be 450px
|
|
538
|
-
await expect(panel).toHaveWidth(450);
|
|
539
|
-
});
|
|
540
|
-
});
|
|
541
|
-
});
|