diff --git a/.changeset/four-cars-attend.md b/.changeset/four-cars-attend.md deleted file mode 100644 index 2b789d31a58..00000000000 --- a/.changeset/four-cars-attend.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@primer/react": minor ---- - -SelectPanel: Replace `aria-activedescendant` with roving tabindex (behind ff) diff --git a/.changeset/new-mangos-fold.md b/.changeset/new-mangos-fold.md deleted file mode 100644 index 55929a994c9..00000000000 --- a/.changeset/new-mangos-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@primer/react": minor ---- - -SelectPanel: Implement empty state (behind ff) diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-colorblind-modern-action-list--true-linux.png index 4454bc9d922..ce9f79c84ac 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-dimmed-modern-action-list--true-linux.png index 4a98091b387..6b4f4e573eb 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-high-contrast-modern-action-list--true-linux.png index 19b721172eb..1210146ab53 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-modern-action-list--true-linux.png index 4454bc9d922..ce9f79c84ac 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-tritanopia-modern-action-list--true-linux.png index 4454bc9d922..82be6cdb500 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-colorblind-modern-action-list--true-linux.png index 66217e76e4c..67b2bb97f16 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-high-contrast-modern-action-list--true-linux.png index 58bbe23a7fa..be244d7f877 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-modern-action-list--true-linux.png index 66217e76e4c..67b2bb97f16 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-tritanopia-modern-action-list--true-linux.png index 66217e76e4c..352961fea24 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Above-Tall-Body-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-colorblind-modern-action-list--true-linux.png index 7f823ae8a68..ad44b49dfc4 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-dimmed-modern-action-list--true-linux.png index 8f6df0c4a20..baace5f320b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-high-contrast-modern-action-list--true-linux.png index 28490afdf7d..1c7ae0859d2 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-modern-action-list--true-linux.png index 7f823ae8a68..6b49f1e29fd 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-tritanopia-modern-action-list--true-linux.png index 7f823ae8a68..6b49f1e29fd 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-dark-modern-action-list--true-linux.png index 1431eedfb7c..d463619a218 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-light-modern-action-list--true-linux.png index ae191e513c8..00a0e6e9e7b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-forced-colors-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-colorblind-modern-action-list--true-linux.png index b375a75600f..f6ca411959b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-high-contrast-modern-action-list--true-linux.png index aac09a4687a..4398a07f0b7 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-modern-action-list--true-linux.png index b375a75600f..f6ca411959b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-tritanopia-modern-action-list--true-linux.png index b375a75600f..f6ca411959b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-responsive-width-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-responsive-width-light-modern-action-list--true-linux.png index e45772c835f..95d51676103 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-responsive-width-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Default-responsive-width-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-colorblind-modern-action-list--true-linux.png index a088e16a891..1aa16bd2eae 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-dimmed-modern-action-list--true-linux.png index ec1a2f87450..f2015f8b2f1 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-high-contrast-modern-action-list--true-linux.png index 05f20ad18d1..7f3f1b65b24 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-modern-action-list--true-linux.png index a088e16a891..1aa16bd2eae 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-tritanopia-modern-action-list--true-linux.png index a088e16a891..1aa16bd2eae 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-colorblind-modern-action-list--true-linux.png index aaa5ee0dcc3..5954c396f77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-high-contrast-modern-action-list--true-linux.png index bc7c4fe5e5d..afa5c0e9f55 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-modern-action-list--true-linux.png index aaa5ee0dcc3..5954c396f77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-tritanopia-modern-action-list--true-linux.png index aaa5ee0dcc3..5954c396f77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-External-Anchor-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-colorblind-modern-action-list--true-linux.png index 5c549023ad5..86e994e423b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-dimmed-modern-action-list--true-linux.png index 1ca8ddbc0bf..36b8440c317 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-high-contrast-modern-action-list--true-linux.png index 83cf944ac76..f878452bc06 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-modern-action-list--true-linux.png index 5c549023ad5..86e994e423b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-tritanopia-modern-action-list--true-linux.png index 5c549023ad5..86e994e423b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-colorblind-modern-action-list--true-linux.png index 12898b660af..95e25c44837 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-high-contrast-modern-action-list--true-linux.png index 3c8c23a9d28..11970196764 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-modern-action-list--true-linux.png index 12898b660af..95e25c44837 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-tritanopia-modern-action-list--true-linux.png index 12898b660af..95e25c44837 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Overflowing-Items-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-colorblind-modern-action-list--true-linux.png index 2ea601c5049..fed9542571f 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-dimmed-modern-action-list--true-linux.png index 09f622c34a9..37e6b532058 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-high-contrast-modern-action-list--true-linux.png index e2d359ad318..41f9e594f53 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-modern-action-list--true-linux.png index 2ea601c5049..fed9542571f 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-tritanopia-modern-action-list--true-linux.png index 2ea601c5049..fed9542571f 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-colorblind-modern-action-list--true-linux.png index d1a24740bd1..0a9612b8756 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-high-contrast-modern-action-list--true-linux.png index e65859a8ce6..fc3f509832c 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-modern-action-list--true-linux.png index df6cdfbba3d..0a9612b8756 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-tritanopia-modern-action-list--true-linux.png index df6cdfbba3d..0a9612b8756 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Initial-with-Underflowing-Items-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-colorblind-modern-action-list--true-linux.png index eb4d308d64d..c41179277ac 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-dimmed-modern-action-list--true-linux.png index 639bd1c8bcb..8f60a287256 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png index 0187b5d0afb..74bcdc8c26e 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-modern-action-list--true-linux.png index eb4d308d64d..c41179277ac 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png index eb4d308d64d..c41179277ac 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-colorblind-modern-action-list--true-linux.png index 498f43b7b50..f7abff3b812 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-high-contrast-modern-action-list--true-linux.png index 245dd42872f..f64b0312857 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-modern-action-list--true-linux.png index 498f43b7b50..f7abff3b812 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-tritanopia-modern-action-list--true-linux.png index 498f43b7b50..f7abff3b812 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variantions-and-Scroll-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-colorblind-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-colorblind-linux.png deleted file mode 100644 index c8493aad1bd..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-colorblind-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-colorblind-modern-action-list--true-linux.png deleted file mode 100644 index eb4d308d64d..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-colorblind-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-dimmed-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-dimmed-linux.png deleted file mode 100644 index b86f6e84846..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-dimmed-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-dimmed-modern-action-list--true-linux.png deleted file mode 100644 index 639bd1c8bcb..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-dimmed-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-high-contrast-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-high-contrast-linux.png deleted file mode 100644 index 9f418e05f37..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-high-contrast-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png deleted file mode 100644 index 0187b5d0afb..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-high-contrast-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-linux.png deleted file mode 100644 index e2440902da4..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-modern-action-list--true-linux.png deleted file mode 100644 index eb4d308d64d..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-tritanopia-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-tritanopia-linux.png deleted file mode 100644 index e2440902da4..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-tritanopia-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png deleted file mode 100644 index eb4d308d64d..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-dark-tritanopia-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-colorblind-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-colorblind-linux.png deleted file mode 100644 index 6e8caf4cac2..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-colorblind-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-colorblind-modern-action-list--true-linux.png deleted file mode 100644 index 498f43b7b50..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-colorblind-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-high-contrast-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-high-contrast-linux.png deleted file mode 100644 index f4a0743991b..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-high-contrast-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-high-contrast-modern-action-list--true-linux.png deleted file mode 100644 index 245dd42872f..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-high-contrast-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-linux.png deleted file mode 100644 index 6e8caf4cac2..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-modern-action-list--true-linux.png deleted file mode 100644 index 498f43b7b50..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-tritanopia-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-tritanopia-linux.png deleted file mode 100644 index 6e8caf4cac2..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-tritanopia-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-tritanopia-modern-action-list--true-linux.png deleted file mode 100644 index 498f43b7b50..00000000000 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Height-Variations-and-Scroll-light-tritanopia-modern-action-list--true-linux.png and /dev/null differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-colorblind-modern-action-list--true-linux.png index 1c39ac45fb4..e831e790fe1 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-dimmed-modern-action-list--true-linux.png index 61b095d64e3..d672b63a446 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-high-contrast-modern-action-list--true-linux.png index 334556c653e..2c4f7938e5e 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-modern-action-list--true-linux.png index 1c39ac45fb4..e831e790fe1 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-tritanopia-modern-action-list--true-linux.png index 1c39ac45fb4..e831e790fe1 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-colorblind-modern-action-list--true-linux.png index 5dd8cf507e4..8d12f281986 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-high-contrast-modern-action-list--true-linux.png index f593df17d6a..e55f52270df 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-modern-action-list--true-linux.png index 5dd8cf507e4..8d12f281986 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-tritanopia-modern-action-list--true-linux.png index 5dd8cf507e4..8d12f281986 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-Single-Select-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-colorblind-modern-action-list--true-linux.png index d7217e1117f..6bcfc87e805 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-dimmed-modern-action-list--true-linux.png index 9289a32784e..c74260d147d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-high-contrast-modern-action-list--true-linux.png index cb879db69d6..c74cad483bb 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-modern-action-list--true-linux.png index d7217e1117f..6bcfc87e805 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-tritanopia-modern-action-list--true-linux.png index d7217e1117f..6bcfc87e805 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-colorblind-modern-action-list--true-linux.png index 3e6c745afc9..d623da98e77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-high-contrast-modern-action-list--true-linux.png index 9b251b5aa55..b8c6ad6f36d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-modern-action-list--true-linux.png index 3e6c745afc9..d623da98e77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-tritanopia-modern-action-list--true-linux.png index 3e6c745afc9..d623da98e77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Css-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-colorblind-modern-action-list--true-linux.png index 0733e422e8f..1a363871361 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-dimmed-modern-action-list--true-linux.png index 9236429c1cf..0205dd94e5d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-high-contrast-modern-action-list--true-linux.png index 80d4e940382..301cefa1943 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-modern-action-list--true-linux.png index 0733e422e8f..1a363871361 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-tritanopia-modern-action-list--true-linux.png index 0733e422e8f..1a363871361 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-colorblind-modern-action-list--true-linux.png index 250af760a6a..1acfdfeefa9 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-high-contrast-modern-action-list--true-linux.png index c9d5a7b3540..e42e601af47 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-modern-action-list--true-linux.png index 250af760a6a..1acfdfeefa9 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-tritanopia-modern-action-list--true-linux.png index 250af760a6a..1acfdfeefa9 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Footer-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-colorblind-modern-action-list--true-linux.png index b97802fcd6c..02bddb41e1d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-dimmed-modern-action-list--true-linux.png index c6ce003d04b..2f065a82c70 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-high-contrast-modern-action-list--true-linux.png index e3d419f754b..4f1b9f563ff 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-modern-action-list--true-linux.png index b97802fcd6c..02bddb41e1d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-tritanopia-modern-action-list--true-linux.png index b97802fcd6c..973cef5b98b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-colorblind-modern-action-list--true-linux.png index d18968c0d66..5e4bb5f6830 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-high-contrast-modern-action-list--true-linux.png index 1341c2a933c..96b882c8fdb 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-modern-action-list--true-linux.png index d18968c0d66..5e4bb5f6830 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-tritanopia-modern-action-list--true-linux.png index d18968c0d66..5e4bb5f6830 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Groups-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-colorblind-modern-action-list--true-linux.png index e724f2c1024..d2f0c86e16a 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-dimmed-modern-action-list--true-linux.png index 6975baec354..1797f2f178d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-high-contrast-modern-action-list--true-linux.png index 6b2fbf02144..40a02ee28a2 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-modern-action-list--true-linux.png index e724f2c1024..d2f0c86e16a 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-tritanopia-modern-action-list--true-linux.png index e724f2c1024..08432b3229d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-colorblind-modern-action-list--true-linux.png index c34cf73b961..fd9ac79c5ab 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-high-contrast-modern-action-list--true-linux.png index 95dd85e2a0b..fc6610d01a9 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-modern-action-list--true-linux.png index c34cf73b961..fd9ac79c5ab 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-tritanopia-modern-action-list--true-linux.png index c34cf73b961..fd9ac79c5ab 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Item-Dividers-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-colorblind-modern-action-list--true-linux.png index d56dcd15a76..01d13f6f2a8 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-dimmed-modern-action-list--true-linux.png index 1af26cc31e7..1bec0c16ad4 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-high-contrast-modern-action-list--true-linux.png index 8daf2d00238..5a1e94bb495 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-modern-action-list--true-linux.png index d56dcd15a76..01d13f6f2a8 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-tritanopia-modern-action-list--true-linux.png index d56dcd15a76..01d13f6f2a8 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-colorblind-modern-action-list--true-linux.png index b075cb212be..4a98c2e30ea 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-high-contrast-modern-action-list--true-linux.png index 31f9b34f4d3..b018e2b545e 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-modern-action-list--true-linux.png index b075cb212be..4a98c2e30ea 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-tritanopia-modern-action-list--true-linux.png index b075cb212be..4a98c2e30ea 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Internally-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-colorblind-modern-action-list--true-linux.png index cef424cdcb3..d6810130488 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-dimmed-modern-action-list--true-linux.png index 7fbfa6e2839..70d3b94f7f2 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-high-contrast-modern-action-list--true-linux.png index a7a70c7e64e..6d5c047a2d0 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-modern-action-list--true-linux.png index cef424cdcb3..d6810130488 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-tritanopia-modern-action-list--true-linux.png index cef424cdcb3..d6810130488 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-colorblind-modern-action-list--true-linux.png index 88c4674408f..7bddddd0b9c 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-high-contrast-modern-action-list--true-linux.png index 0ee0d51274c..441a65ab97b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-modern-action-list--true-linux.png index 16390871c54..7bddddd0b9c 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-tritanopia-modern-action-list--true-linux.png index 16390871c54..57eb94e42e3 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Label-Visually-Hidden-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-colorblind-modern-action-list--true-linux.png index 08088a93ee6..3f00c915e46 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-dimmed-modern-action-list--true-linux.png index 1af3b3d66b2..93489fea43d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-high-contrast-modern-action-list--true-linux.png index e0a2efd9fab..6dac13c2e3b 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-modern-action-list--true-linux.png index 08088a93ee6..3f00c915e46 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-tritanopia-modern-action-list--true-linux.png index 08088a93ee6..3f00c915e46 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-colorblind-modern-action-list--true-linux.png index 29b703a306f..84b8ec4ac49 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-high-contrast-modern-action-list--true-linux.png index 43f49c1917e..8371e168772 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-modern-action-list--true-linux.png index 29b703a306f..84b8ec4ac49 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-tritanopia-modern-action-list--true-linux.png index 29b703a306f..84b8ec4ac49 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Placeholder-for-Search-Input-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-colorblind-modern-action-list--true-linux.png index d7217e1117f..6bcfc87e805 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-dimmed-modern-action-list--true-linux.png index 9289a32784e..199b4edb63e 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-high-contrast-modern-action-list--true-linux.png index cb879db69d6..c74cad483bb 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-modern-action-list--true-linux.png index d7217e1117f..6bcfc87e805 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-tritanopia-modern-action-list--true-linux.png index d7217e1117f..6bcfc87e805 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-colorblind-modern-action-list--true-linux.png index 3e6c745afc9..d623da98e77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-high-contrast-modern-action-list--true-linux.png index 9b251b5aa55..b8c6ad6f36d 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-modern-action-list--true-linux.png index 3e6c745afc9..d623da98e77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-tritanopia-modern-action-list--true-linux.png index 3e6c745afc9..d623da98e77 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-and-Css-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-colorblind-modern-action-list--true-linux.png index 9189319ad17..79170cc7fa5 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-dimmed-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-dimmed-modern-action-list--true-linux.png index a0e819661b6..856c93862a0 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-dimmed-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-dimmed-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-high-contrast-modern-action-list--true-linux.png index d388db96612..0d1d71e4bfe 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-modern-action-list--true-linux.png index 9189319ad17..79170cc7fa5 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-tritanopia-modern-action-list--true-linux.png index 9189319ad17..79170cc7fa5 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-dark-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-colorblind-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-colorblind-modern-action-list--true-linux.png index 73e1c37bd53..c53e4886845 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-colorblind-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-colorblind-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-high-contrast-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-high-contrast-modern-action-list--true-linux.png index f6b837fab34..93c812a8ed6 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-high-contrast-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-high-contrast-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-modern-action-list--true-linux.png index 73e1c37bd53..c53e4886845 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-tritanopia-modern-action-list--true-linux.png b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-tritanopia-modern-action-list--true-linux.png index 73e1c37bd53..c53e4886845 100644 Binary files a/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-tritanopia-modern-action-list--true-linux.png and b/.playwright/snapshots/components/SelectPanel.test.ts-snapshots/SelectPanel-With-Sx-light-tritanopia-modern-action-list--true-linux.png differ diff --git a/.playwright/snapshots/components/drafts/SelectPanel.test.ts-snapshots/drafts-SelectPanel-With-Warning-dark-high-contrast-linux.png b/.playwright/snapshots/components/drafts/SelectPanel.test.ts-snapshots/drafts-SelectPanel-With-Warning-dark-high-contrast-linux.png index cef17d224cd..71367098b97 100644 Binary files a/.playwright/snapshots/components/drafts/SelectPanel.test.ts-snapshots/drafts-SelectPanel-With-Warning-dark-high-contrast-linux.png and b/.playwright/snapshots/components/drafts/SelectPanel.test.ts-snapshots/drafts-SelectPanel-With-Warning-dark-high-contrast-linux.png differ diff --git a/e2e/components/SelectPanel.test.ts b/e2e/components/SelectPanel.test.ts index 10c4bb90356..49198328841 100644 --- a/e2e/components/SelectPanel.test.ts +++ b/e2e/components/SelectPanel.test.ts @@ -20,7 +20,7 @@ const scenarios = matrix({ name: 'With Placeholder for Search Input', }, {id: 'components-selectpanel-examples--above-tall-body', name: 'Above Tall Body'}, - {id: 'components-selectpanel-examples--height-variations-and-scroll', name: 'Height Variations and Scroll'}, + {id: 'components-selectpanel-examples--height-variantions-and-scroll', name: 'Height Variantions and Scroll'}, { id: 'components-selectpanel-examples--height-initial-with-overflowing-items-story', name: 'Height Initial with Overflowing Items', diff --git a/packages/react/src/ActionList/Item.tsx b/packages/react/src/ActionList/Item.tsx index 76563a23d5b..18f0e9cd1c4 100644 --- a/packages/react/src/ActionList/Item.tsx +++ b/packages/react/src/ActionList/Item.tsx @@ -137,12 +137,12 @@ export const Item = React.forwardRef( if (selectionVariant === 'single') inferredItemRole = 'menuitemradio' else if (selectionVariant === 'multiple') inferredItemRole = 'menuitemcheckbox' else inferredItemRole = 'menuitem' - } else if (container && ['SelectPanel', 'FilteredActionList'].includes(container) && listRole === 'listbox') { + } else if (container === 'SelectPanel' && listRole === 'listbox') { if (selectionVariant !== undefined) inferredItemRole = 'option' } const itemRole = role || inferredItemRole - const menuContext = container === 'ActionMenu' || container === 'SelectPanel' || container === 'FilteredActionList' + const menuContext = container === 'ActionMenu' || container === 'SelectPanel' if (slots.trailingAction) { invariant(!menuContext, `ActionList.TrailingAction can not be used within a ${container}.`) diff --git a/packages/react/src/ActionList/List.tsx b/packages/react/src/ActionList/List.tsx index 0dfed14ccc6..9b84e3d1424 100644 --- a/packages/react/src/ActionList/List.tsx +++ b/packages/react/src/ActionList/List.tsx @@ -41,7 +41,6 @@ export const List = React.forwardRef( listLabelledBy, selectionVariant: containerSelectionVariant, // TODO: Remove after DropdownMenu2 deprecation enableFocusZone: enableFocusZoneFromContainer, - container, } = React.useContext(ActionListContainerContext) const ariaLabelledBy = slots.heading ? (slots.heading.props.id ?? headingId) : listLabelledBy @@ -56,7 +55,7 @@ export const List = React.forwardRef( disabled: !enableFocusZone, containerRef: listRef, bindKeys: FocusKeys.ArrowVertical | FocusKeys.HomeAndEnd | FocusKeys.PageUpDown, - focusOutBehavior: listRole === 'menu' || container === 'FilteredActionList' ? 'wrap' : undefined, + focusOutBehavior: listRole === 'menu' ? 'wrap' : undefined, }) const enabled = useFeatureFlag(actionListCssModulesFlag) diff --git a/packages/react/src/FilteredActionList/FilteredActionList.module.css b/packages/react/src/FilteredActionList/FilteredActionList.module.css deleted file mode 100644 index 93312579243..00000000000 --- a/packages/react/src/FilteredActionList/FilteredActionList.module.css +++ /dev/null @@ -1,6 +0,0 @@ -.Container { - display: flex; - height: 100%; - overflow: auto; - flex-grow: 1; -} diff --git a/packages/react/src/FilteredActionList/FilteredActionListEntry.tsx b/packages/react/src/FilteredActionList/FilteredActionListEntry.tsx index afd4787e600..450608c6b0a 100644 --- a/packages/react/src/FilteredActionList/FilteredActionListEntry.tsx +++ b/packages/react/src/FilteredActionList/FilteredActionListEntry.tsx @@ -4,11 +4,11 @@ import {FilteredActionList as WithDeprecatedActionList} from './FilteredActionLi import {FilteredActionList as WithStableActionList} from './FilteredActionListWithModernActionList' import {useFeatureFlag} from '../FeatureFlags' -export function FilteredActionList({onListContainerRefChanged, ...props}: FilteredActionListProps) { +export function FilteredActionList(props: FilteredActionListProps): JSX.Element { const enabled = useFeatureFlag('primer_react_select_panel_with_modern_action_list') if (enabled) return - else return + else return } FilteredActionList.displayName = 'FilteredActionList' diff --git a/packages/react/src/FilteredActionList/FilteredActionListWithModernActionList.tsx b/packages/react/src/FilteredActionList/FilteredActionListWithModernActionList.tsx index e4ee594fd25..ff5e102188e 100644 --- a/packages/react/src/FilteredActionList/FilteredActionListWithModernActionList.tsx +++ b/packages/react/src/FilteredActionList/FilteredActionListWithModernActionList.tsx @@ -1,3 +1,6 @@ +import type {ScrollIntoViewOptions} from '@primer/behaviors' +import {scrollIntoView, FocusKeys} from '@primer/behaviors' +import type {KeyboardEventHandler} from 'react' import React, {useCallback, useEffect, useRef, useState} from 'react' import styled from 'styled-components' import Box from '../Box' @@ -6,6 +9,7 @@ import TextInput from '../TextInput' import {get} from '../constants' import {ActionList} from '../ActionList' import type {GroupedListProps, ListPropsBase, ItemInput} from '../SelectPanel/types' +import {useFocusZone} from '../hooks/useFocusZone' import {useId} from '../hooks/useId' import {useProvidedRefOrCreate} from '../hooks/useProvidedRefOrCreate' import {useProvidedStateOrCreate} from '../hooks/useProvidedStateOrCreate' @@ -14,13 +18,13 @@ import {VisuallyHidden} from '../VisuallyHidden' import type {SxProp} from '../sx' import type {FilteredActionListLoadingType} from './FilteredActionListLoaders' import {FilteredActionListLoadingTypes, FilteredActionListBodyLoader} from './FilteredActionListLoaders' -import classes from './FilteredActionList.module.css' -import {ActionListContainerContext} from '../ActionList/ActionListContainerContext' import {isValidElementType} from 'react-is' import type {RenderItemFn} from '../deprecated/ActionList/List' import {useAnnouncements} from './useAnnouncements' +const menuScrollMargins: ScrollIntoViewOptions = {startMargin: 0, endMargin: 8} + export interface FilteredActionListProps extends Partial>, ListPropsBase, @@ -30,10 +34,10 @@ export interface FilteredActionListProps placeholderText?: string filterValue?: string onFilterChange: (value: string, e: React.ChangeEvent) => void + onListContainerRefChanged?: (ref: HTMLElement | null) => void onInputRefChanged?: (ref: React.RefObject) => void textInputProps?: Partial> inputRef?: React.RefObject - message?: React.ReactNode className?: string announcementsEnabled?: boolean } @@ -49,6 +53,7 @@ export function FilteredActionList({ filterValue: externalFilterValue, loadingType = FilteredActionListLoadingTypes.bodySpinner, onFilterChange, + onListContainerRefChanged, onInputRefChanged, items, textInputProps, @@ -56,16 +61,11 @@ export function FilteredActionList({ sx, groupMetadata, showItemDividers, - message, className, - selectionVariant, announcementsEnabled = true, ...listProps }: FilteredActionListProps): JSX.Element { const [filterValue, setInternalFilterValue] = useProvidedStateOrCreate(externalFilterValue, undefined, '') - const [enableAnnouncements, setEnableAnnouncements] = useState(false) - const [selectedItems, setSelectedItems] = useState<(string | number | undefined)[]>([]) - const onInputChange = useCallback( (e: React.ChangeEvent) => { const value = e.target.value @@ -77,69 +77,70 @@ export function FilteredActionList({ const scrollContainerRef = useRef(null) const inputRef = useProvidedRefOrCreate(providedInputRef) - const listRef = useRef(null) + const [listContainerElement, setListContainerElement] = useState(null) + const activeDescendantRef = useRef() const listId = useId() const inputDescriptionTextId = useId() + const onInputKeyPress: KeyboardEventHandler = useCallback( + event => { + if (event.key === 'Enter' && activeDescendantRef.current) { + event.preventDefault() + event.nativeEvent.stopImmediatePropagation() - const keydownListener = useCallback( - (event: React.KeyboardEvent) => { - if (event.key === 'ArrowDown') { - if (listRef.current) { - const firstSelectedItem = listRef.current.querySelector('[role="option"]') as HTMLElement | undefined - firstSelectedItem?.focus() - - event.preventDefault() - } - } else if (event.key === 'Enter') { - let firstItem - // If there are groups, it's not guaranteed that the first item is the actual first item in the first - - // as groups are rendered in the order of the groupId provided - if (groupMetadata) { - const firstGroup = groupMetadata[0].groupId - firstItem = items.filter(item => item.groupId === firstGroup)[0] - } else { - firstItem = items[0] - } - - if (firstItem.onAction) { - firstItem.onAction(firstItem, event) - event.preventDefault() - } + // Forward Enter key press to active descendant so that item gets activated + const activeDescendantEvent = new KeyboardEvent(event.type, event.nativeEvent) + activeDescendantRef.current.dispatchEvent(activeDescendantEvent) } }, - [items, groupMetadata], + [activeDescendantRef], + ) + + const listContainerRefCallback = useCallback( + (node: HTMLUListElement | null) => { + setListContainerElement(node) + onListContainerRefChanged?.(node) + }, + [onListContainerRefChanged], ) useEffect(() => { onInputRefChanged?.(inputRef) }, [inputRef, onInputRefChanged]) - useEffect(() => { - if (items.length === 0) { - inputRef.current?.focus() - } else { - const itemIds = items.filter(item => item.selected).map(item => item.id) - const removedItem = selectedItems.find(item => !itemIds.includes(item)) + useFocusZone( + { + containerRef: {current: listContainerElement}, + bindKeys: FocusKeys.ArrowVertical | FocusKeys.PageUpDown, + focusOutBehavior: 'wrap', + focusableElementFilter: element => { + return !(element instanceof HTMLInputElement) + }, + activeDescendantFocus: inputRef, + onActiveDescendantChanged: (current, previous, directlyActivated) => { + activeDescendantRef.current = current - if (removedItem && document.activeElement !== inputRef.current) { - const list = listRef.current - if (list) { - const firstSelectedItem = list.querySelector('[role="option"]') as HTMLElement - firstSelectedItem.focus() + if (current && scrollContainerRef.current && directlyActivated) { + scrollIntoView(current, scrollContainerRef.current, menuScrollMargins) } - } - } - }, [items, inputRef, selectedItems]) + }, + }, + [ + // List container isn't in the DOM while loading. Need to re-bind focus zone when it changes. + listContainerElement, + ], + ) useEffect(() => { - const selectedItemIds = items.filter(item => item.selected).map(item => item.id) - setSelectedItems(selectedItemIds) + // if items changed, we want to instantly move active descendant into view + if (activeDescendantRef.current && scrollContainerRef.current) { + scrollIntoView(activeDescendantRef.current, scrollContainerRef.current, { + ...menuScrollMargins, + behavior: 'auto', + }) + } }, [items]) - useEffect(() => { - setEnableAnnouncements(announcementsEnabled) - }, [announcementsEnabled]) - + useAnnouncements(items, {current: listContainerElement}, inputRef, announcementsEnabled) useScrollFlash(scrollContainerRef) function getItemListForEachGroup(groupId: string) { @@ -153,49 +154,6 @@ export function FilteredActionList({ return itemsInGroup } - function getBodyContent() { - if (loading && scrollContainerRef.current && loadingType.appearsInBody) { - return - } - if (message) { - return message - } - - return ( - - - {groupMetadata?.length - ? groupMetadata.map((group, index) => { - return ( - - - {group.header?.title ? group.header.title : `Group ${group.groupId}`} - - {getItemListForEachGroup(group.groupId).map((item, index) => { - const key = item.key ?? item.id?.toString() ?? index.toString() - return - })} - - ) - }) - : items.map((item, index) => { - const key = item.key ?? item.id?.toString() ?? index.toString() - return - })} - - - ) - } - useAnnouncements(items, listRef, inputRef, enableAnnouncements) - return ( Items will be filtered as you type -
- {getBodyContent()} -
+ + {loading && scrollContainerRef.current && loadingType.appearsInBody ? ( + + ) : ( + + {groupMetadata?.length + ? groupMetadata.map((group, index) => { + return ( + + + {group.header?.title ? group.header.title : `Group ${group.groupId}`} + + {getItemListForEachGroup(group.groupId).map((item, index) => { + const key = item.key ?? item.id?.toString() ?? index.toString() + return + })} + + ) + }) + : items.map((item, index) => { + const key = item.key ?? item.id?.toString() ?? index.toString() + return + })} + + )} +
) } diff --git a/packages/react/src/FilteredActionList/useAnnouncements.tsx b/packages/react/src/FilteredActionList/useAnnouncements.tsx index 30f523e24e3..4e93afe9622 100644 --- a/packages/react/src/FilteredActionList/useAnnouncements.tsx +++ b/packages/react/src/FilteredActionList/useAnnouncements.tsx @@ -4,6 +4,7 @@ import {announce as liveRegionAnnounce} from '@primer/live-region-element' import {useCallback, useEffect, useRef} from 'react' import type {FilteredActionListProps} from './FilteredActionListEntry' +import type {ItemInput} from '../deprecated/ActionList/List' // we add a delay so that it does not interrupt default screen reader announcement and queues after it const delayMs = 500 @@ -16,6 +17,26 @@ const useFirstRender = () => { return firstRender.current } +const getItemWithActiveDescendant = ( + listRef: React.RefObject, + items: FilteredActionListProps['items'], +) => { + const listElement = listRef.current + const activeItemElement = listElement?.querySelector('[data-is-active-descendant]') + + if (!listElement || !activeItemElement?.textContent) return + + const optionElements = listElement.querySelectorAll('[role="option"]') + + const index = Array.from(optionElements).indexOf(activeItemElement) + const activeItem = items[index] as ItemInput | undefined + + const text = activeItem?.text + const selected = activeItem?.selected + + return {index, text, selected} +} + export const useAnnouncements = ( items: FilteredActionListProps['items'], listContainerRef: React.RefObject, @@ -24,12 +45,6 @@ export const useAnnouncements = ( ) => { const liveRegion = document.querySelector('live-region') - // Notify user of the number of items available - const selectedItems = items.filter(item => item.selected).length - const announcementText = items.length - ? `${items.length} item${items.length > 1 ? 's' : ''} available, ${selectedItems} selected.` - : 'No matching items.' - const announce = useCallback( (...args: Parameters): ReturnType | undefined => { if (enabled) { @@ -42,9 +57,22 @@ export const useAnnouncements = ( useEffect( function announceInitialFocus() { const focusHandler = () => { - announce(announcementText, { - delayMs, - from: liveRegion ? liveRegion : undefined, // announce will create a liveRegion if it doesn't find one + // give @primer/behaviors a moment to apply active-descendant + window.requestAnimationFrame(() => { + const activeItem = getItemWithActiveDescendant(listContainerRef, items) + if (!activeItem) return + const {index, text, selected} = activeItem + + const announcementText = [ + `Focus on filter text box and list of items`, + `Focused item: ${text}`, + `${selected ? 'selected' : 'not selected'}`, + `${index + 1} of ${items.length}`, + ].join(', ') + announce(announcementText, { + delayMs, + from: liveRegion ? liveRegion : undefined, // announce will create a liveRegion if it doesn't find one + }) }) } @@ -52,20 +80,40 @@ export const useAnnouncements = ( inputElement?.addEventListener('focus', focusHandler) return () => inputElement?.removeEventListener('focus', focusHandler) }, - [listContainerRef, inputRef, items, liveRegion, announce, announcementText], + [listContainerRef, inputRef, items, liveRegion, announce], ) const isFirstRender = useFirstRender() useEffect( function announceListUpdates() { if (isFirstRender) return // ignore on first render as announceInitialFocus will also announce + liveRegion?.clear() // clear previous announcements - announce(announcementText, { - delayMs, - from: liveRegion ? liveRegion : undefined, + if (items.length === 0) { + announce('No matching items.', {delayMs}) + return + } + + // give @primer/behaviors a moment to update active-descendant + window.requestAnimationFrame(() => { + const activeItem = getItemWithActiveDescendant(listContainerRef, items) + if (!activeItem) return + const {index, text, selected} = activeItem + + const announcementText = [ + `List updated`, + `Focused item: ${text}`, + `${selected ? 'selected' : 'not selected'}`, + `${index + 1} of ${items.length}`, + ].join(', ') + + announce(announcementText, { + delayMs, + from: liveRegion ? liveRegion : undefined, // announce will create a liveRegion if it doesn't find one + }) }) }, - [announce, isFirstRender, items, listContainerRef, liveRegion, announcementText], + [announce, isFirstRender, items, listContainerRef, liveRegion], ) } diff --git a/packages/react/src/SelectPanel/SelectPanel.dev.stories.tsx b/packages/react/src/SelectPanel/SelectPanel.dev.stories.tsx index 89f76426e17..168e79e4ebb 100644 --- a/packages/react/src/SelectPanel/SelectPanel.dev.stories.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.dev.stories.tsx @@ -9,21 +9,13 @@ import type {ItemInput} from '../deprecated/ActionList/List' import {FeatureFlags} from '../FeatureFlags' import FormControl from '../FormControl' -const meta: Meta = { +const meta = { title: 'Components/SelectPanel/Dev', component: SelectPanel, } satisfies Meta export default meta -const NoResultsMessage = (filter: string): {variant: 'empty'; title: string; body: string} => { - return { - variant: 'empty', - title: `No language found for \`${filter}\``, - body: 'Adjust your search term to find other languages', - } -} - function getColorCircle(color: string) { return function () { return ( @@ -116,7 +108,6 @@ export const WithCss = () => { onSelectedChange={setSelected} onFilterChange={setFilter} className="testCustomClassnameMono" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> @@ -168,7 +159,6 @@ export const WithSx = () => { onSelectedChange={setSelected} onFilterChange={setFilter} sx={{fontFamily: 'Times New Roman'}} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> @@ -221,7 +211,6 @@ export const WithSxAndCSS = () => { onFilterChange={setFilter} sx={{fontFamily: 'Times New Roman'}} className="testCustomClassnameMono" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> diff --git a/packages/react/src/SelectPanel/SelectPanel.docs.json b/packages/react/src/SelectPanel/SelectPanel.docs.json index ba48ce18d94..d28e8c92ea5 100644 --- a/packages/react/src/SelectPanel/SelectPanel.docs.json +++ b/packages/react/src/SelectPanel/SelectPanel.docs.json @@ -150,48 +150,7 @@ "type": "string | React.ReactElement", "defaultValue": "null", "description": "Footer rendered at the end of the panel" - }, - { - "name": "message", - "type": "{title: string | React.ReactElement; variant: 'empty' | 'error' | 'warning'; body: React.ReactNode;}", - "defaultValue": "A default empty message is provided by default if this option is not supplied", - "description": "Message to display in the panel in case of error or empty results" - }, - { - "name": "notice", - "type": "{text: string | React.ReactElement; variant: 'empty' | 'error' | 'warning';}", - "description": "Optional notice to display on top of the panel" } ], - "subcomponents": [ - { - "name": "SelectPanel.Message", - "props": [ - { - "name": "title", - "type": "string", - "description": "A title for the message" - }, - { - "name": "variant", - "type": "'empty' | 'error' | 'warning'", - "description": "The variant of the message", - "required": true - }, - { - "name": "className", - "type": "string", - "defaultValue": "", - "description": "Custom className" - }, - { - "name": "children", - "type": "React.ReactNode", - "defaultValue": "", - "required": true, - "description": "The message to display" - } - ] - } - ] + "subcomponents": [] } diff --git a/packages/react/src/SelectPanel/SelectPanel.examples.stories.tsx b/packages/react/src/SelectPanel/SelectPanel.examples.stories.tsx index 2f2eea43248..36abedbf65f 100644 --- a/packages/react/src/SelectPanel/SelectPanel.examples.stories.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.examples.stories.tsx @@ -11,21 +11,13 @@ import FormControl from '../FormControl' import {Stack} from '../Stack' import {Dialog} from '../experimental' -const meta: Meta = { +const meta = { title: 'Components/SelectPanel/Examples', component: SelectPanel, } satisfies Meta export default meta -const NoResultsMessage = (filter: string): {variant: 'empty'; title: string; body: string} => { - return { - variant: 'empty', - title: `No language found for \`${filter}\``, - body: 'Adjust your search term to find other languages', - } -} - function getColorCircle(color: string) { return function () { return ( @@ -90,7 +82,6 @@ export const HeightInitialWithOverflowingItemsStory = () => { onSelectedChange={setSelected} onFilterChange={setFilter} overlayProps={{width: 'small', height: 'initial', maxHeight: 'xsmall'}} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -136,7 +127,6 @@ export const HeightInitialWithUnderflowingItemsStory = () => { onFilterChange={setFilter} showItemDividers={true} overlayProps={{width: 'small', height: 'initial', maxHeight: 'xsmall'}} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -159,7 +149,7 @@ export const HeightInitialWithUnderflowingItemsAfterFetch = () => { [fetchedItems, filter, selected], ) // design guidelines say to sort selected items first - const selectedItemsSortedFirst = filteredItems.sort((a, b) => { + const selectedItemsSortedFirst = fetchedItems.sort((a, b) => { const aIsSelected = selected.some(selectedItem => selectedItem.text === a.text) const bIsSelected = selected.some(selectedItem => selectedItem.text === b.text) if (aIsSelected && !bIsSelected) return -1 @@ -189,14 +179,13 @@ export const HeightInitialWithUnderflowingItemsAfterFetch = () => { placeholder="Select labels" // button text when no items are selected open={open} onOpenChange={onOpenChange} - loading={filteredItems.length === 0 && !filter} + loading={filteredItems.length === 0} items={selectedItemsSortedFirst} selected={selected} onSelectedChange={setSelected} onFilterChange={setFilter} showItemDividers={true} overlayProps={{width: 'small', height, maxHeight: 'xsmall'}} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -239,7 +228,6 @@ export const AboveTallBody = () => { onSelectedChange={setSelected} onFilterChange={setFilter} showItemDividers={true} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} />
{ ) } -export const HeightVariationsAndScroll = () => { +export const HeightVariantionsAndScroll = () => { const longItems = [...items, ...items, ...items, ...items, ...items, ...items, ...items, ...items] const [filter, setFilter] = useState('') // Example A @@ -305,7 +293,6 @@ export const HeightVariationsAndScroll = () => { onFilterChange={setFilter} showItemDividers={true} overlayProps={{height: 'medium'}} - message={selectedItemsSortedFirstA.length === 0 ? NoResultsMessage(filter) : undefined} />
@@ -329,7 +316,6 @@ export const HeightVariationsAndScroll = () => { height: 'auto', maxHeight: 'medium', }} - message={selectedItemsSortedFirstB.length === 0 ? NoResultsMessage(filter) : undefined} /> @@ -404,7 +390,6 @@ export const CustomItemRenderer = () => { )} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -454,7 +439,6 @@ export const ItemsInScope = () => { selected={selected} onSelectedChange={setSelected} onFilterChange={setFilter} - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -500,7 +484,6 @@ export const RepositionAfterLoading = () => { selected={selected} onSelectedChange={setSelected} onFilterChange={setFilter} - message={filteredItems.length === 0 ? NoResultsMessage(filter) : undefined} /> @@ -548,7 +531,6 @@ export const SelectPanelRepositionInsideDialog = () => { onSelectedChange={setSelected} onFilterChange={setFilter} overlayProps={{anchorSide: 'outside-top'}} - message={filteredItems.length === 0 ? NoResultsMessage(filter) : undefined} /> diff --git a/packages/react/src/SelectPanel/SelectPanel.features.stories.tsx b/packages/react/src/SelectPanel/SelectPanel.features.stories.tsx index c6c6cedb2d8..637340a5268 100644 --- a/packages/react/src/SelectPanel/SelectPanel.features.stories.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.features.stories.tsx @@ -3,7 +3,6 @@ import type {Meta, StoryObj} from '@storybook/react' import Box from '../Box' import {Button} from '../Button' import type {ItemInput, GroupedListProps} from '../deprecated/ActionList/List' -import Link from '../Link' import {SelectPanel, type SelectPanelProps} from './SelectPanel' import { AlertIcon, @@ -19,43 +18,18 @@ import { VersionsIcon, } from '@primer/octicons-react' import useSafeTimeout from '../hooks/useSafeTimeout' -import ToggleSwitch from '../ToggleSwitch' -import Text from '../Text' import FormControl from '../FormControl' +import Link from '../Link' import {SegmentedControl} from '../SegmentedControl' import {Stack} from '../Stack' -const meta: Meta = { +const meta = { title: 'Components/SelectPanel/Features', component: SelectPanel, } satisfies Meta export default meta -const NoResultsMessage = (filter: string): {variant: 'empty'; title: string; body: string} => { - return { - variant: 'empty', - title: `No language found for \`${filter}\``, - body: 'Adjust your search term to find other languages', - } -} - -const EmptyMessage: {variant: 'empty'; title: string; body: React.ReactElement} = { - variant: 'empty', - title: `You haven't created any projects yet`, - body: ( - <> - Start your first project to organise your issues. - - ), -} - -const ErrorMessage: {variant: 'error'; title: string; body: string} = { - variant: 'error', - title: 'Oops', - body: 'Something went wrong.', -} - function getColorCircle(color: string) { return function () { return ( @@ -123,7 +97,6 @@ export const WithItemDividers = () => { onFilterChange={setFilter} showItemDividers={true} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -169,7 +142,6 @@ export const WithPlaceholderForSearchInput = () => { onSelectedChange={setSelected} onFilterChange={setFilter} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -207,7 +179,6 @@ export const SingleSelect = () => { onFilterChange={setFilter} onCancel={() => setOpen(false)} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -252,7 +223,6 @@ export const MultiSelect = () => { onSelectedChange={setSelected} onFilterChange={setFilter} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -295,7 +265,6 @@ export const WithExternalAnchor = () => { onSelectedChange={setSelected} onFilterChange={setFilter} width="medium" - message={filteredItems.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -344,7 +313,6 @@ export const WithFooter = () => { } width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -524,7 +492,6 @@ export const WithGroups = () => { onFilterChange={setFilter} overlayProps={{width: 'large', height: 'xlarge'}} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -569,7 +536,6 @@ export const WithLabelVisuallyHidden = () => { onSelectedChange={setSelected} onFilterChange={setFilter} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) @@ -617,7 +583,6 @@ export const WithLabelInternally = () => { onSelectedChange={setSelected} onFilterChange={setFilter} width="medium" - message={selectedItemsSortedFirst.length === 0 ? NoResultsMessage(filter) : undefined} /> ) } @@ -629,12 +594,10 @@ export const AsyncFetch: StoryObj = { const [open, setOpen] = useState(false) const filterTimerId = useRef(null) const {safeSetTimeout, safeClearTimeout} = useSafeTimeout() - const [query, setQuery] = useState('') const fetchItems = (query: string) => { if (filterTimerId.current) { safeClearTimeout(filterTimerId.current) - setQuery(query) } filterTimerId.current = safeSetTimeout(() => { @@ -672,122 +635,6 @@ export const AsyncFetch: StoryObj = { height={height} initialLoadingType={initialLoadingType} width="medium" - message={filteredItems.length === 0 ? NoResultsMessage(query) : undefined} - /> - ) - }, - args: { - initialLoadingType: 'spinner', - height: 'medium', - }, - argTypes: { - initialLoadingType: { - control: 'select', - options: ['spinner', 'skeleton'], - }, - height: { - control: 'select', - options: ['auto', 'xsmall', 'small', 'medium', 'large', 'xlarge'], - }, - }, -} - -export const CustomisedNoInitialItems = () => { - const [selected, setSelected] = React.useState([]) - const [filteredItems, setFilteredItems] = React.useState([]) - const [open, setOpen] = useState(false) - const [filter, setFilter] = useState('') - const onFilterChange = (value: string = '') => { - setFilter(value) - setTimeout(() => { - // fetch the items - setFilteredItems([]) - }, 0) - } - const [isError, setIsError] = React.useState(false) - - const onClick = React.useCallback(() => { - setIsError(!isError) - }, [setIsError, isError]) - - function getMessage(): {variant: 'empty' | 'error'; title: string; body: string | React.ReactElement} { - if (isError) return ErrorMessage - else if (filter) return NoResultsMessage(filter) - else return EmptyMessage - } - - return ( - <> - - Enable Error State :{isError ? 'On' : 'Off'} - - - ( - - )} - open={open} - onOpenChange={setOpen} - items={filteredItems} - selected={selected} - onSelectedChange={setSelected} - onFilterChange={onFilterChange} - width="medium" - height="large" - message={getMessage()} - /> - - ) -} - -export const CustomisedNoResults: StoryObj = { - render: ({initialLoadingType, height}) => { - const [selected, setSelected] = React.useState([]) - const [filteredItems, setFilteredItems] = React.useState([]) - const [filterValue, setFilterValue] = React.useState('') - const [open, setOpen] = useState(false) - const filterTimerId = useRef(null) - const {safeSetTimeout, safeClearTimeout} = useSafeTimeout() - const onFilterChange = (value: string) => { - setFilterValue(value) - if (filterTimerId.current) { - safeClearTimeout(filterTimerId.current) - } - - filterTimerId.current = safeSetTimeout(() => { - setFilteredItems(items.filter(item => item.text.toLowerCase().startsWith(value.toLowerCase()))) - }, 2000) as unknown as number - } - - return ( - ( - - )} - placeholderText="Filter labels" - open={open} - onOpenChange={setOpen} - items={filteredItems} - selected={selected} - onSelectedChange={setSelected} - onFilterChange={onFilterChange} - showItemDividers={true} - initialLoadingType={initialLoadingType} - height={height} - overlayProps={{maxHeight: height === 'auto' || height === 'initial' ? 'xlarge' : height}} - message={filteredItems.length === 0 ? NoResultsMessage(filterValue) : undefined} /> ) }, diff --git a/packages/react/src/SelectPanel/SelectPanel.module.css b/packages/react/src/SelectPanel/SelectPanel.module.css index e737e17f13b..9b3acb44a17 100644 --- a/packages/react/src/SelectPanel/SelectPanel.module.css +++ b/packages/react/src/SelectPanel/SelectPanel.module.css @@ -1,8 +1,3 @@ -.Overlay { - /* CSS variables values are passed in via styles */ - --max-height: 0; -} - .Wrapper { display: flex; height: inherit; @@ -79,45 +74,6 @@ max-height: inherit; } -.Message { - display: flex; - height: 100%; - min-height: min(calc(var(--max-height) - 150px), 324px); /* maxHeight of dialog - (header & footer) */ - padding: var(--base-size-24); - text-align: center; - flex-direction: column; - justify-content: center; - align-items: center; - flex-grow: 1; - gap: var(--base-size-4); - - a { - color: inherit; - text-decoration: underline; - } -} - -.MessageTitle { - font-size: var(--text-body-size-medium); - font-weight: var(--base-text-weight-semibold); -} - -.MessageBody { - font-size: var(--text-body-size-small); - color: var(--fgColor-muted); - align-items: center; - gap: var(--stack-gap-condensed); -} - -.MessageIcon { - margin-bottom: var(--base-size-8); - color: var(--fgColor-attention); - - &:where([data-variant='error']) { - color: var(--fgColor-danger); - } -} - .ResponsiveCloseButton { display: none; diff --git a/packages/react/src/SelectPanel/SelectPanel.stories.tsx b/packages/react/src/SelectPanel/SelectPanel.stories.tsx index 96e8e20c23f..24d0ba377d5 100644 --- a/packages/react/src/SelectPanel/SelectPanel.stories.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.stories.tsx @@ -8,7 +8,7 @@ import {SelectPanel} from '../SelectPanel' import type {ItemInput} from '../deprecated/ActionList/List' import FormControl from '../FormControl' -const meta: Meta = { +const meta = { title: 'Components/SelectPanel', component: SelectPanel, } satisfies Meta @@ -101,15 +101,6 @@ export const Default = () => { onSelectedChange={setSelected} onFilterChange={setFilter} width="medium" - message={ - selectedItemsSortedFirst.length === 0 - ? { - variant: 'empty', - title: `No language found for \`${filter}\``, - body: 'Adjust your search term to find other languages', - } - : undefined - } /> ) diff --git a/packages/react/src/SelectPanel/SelectPanel.test.tsx b/packages/react/src/SelectPanel/SelectPanel.test.tsx index f8112d38010..877fa43ba19 100644 --- a/packages/react/src/SelectPanel/SelectPanel.test.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.test.tsx @@ -264,19 +264,14 @@ for (const useModernActionList of [false, true]) { await user.click(screen.getByText('Select items')) - if (useModernActionList) { - expect(document.activeElement!).toHaveAttribute('role', 'combobox') - } - await user.type(document.activeElement!, '{Enter}') - expect( screen.getByRole('option', { name: 'item one', }), ).toHaveAttribute('aria-selected', 'true') - await user.keyboard('{Enter}') + await user.type(document.activeElement!, '{Enter}') expect( screen.getByRole('option', { name: 'item one', @@ -299,43 +294,6 @@ for (const useModernActionList of [false, true]) { }) it('should support navigating through items with ArrowUp and ArrowDown', async () => { - if (!useModernActionList) return // this feature is only enabled with feature flag on - - const user = userEvent.setup() - - renderWithFlag(, useModernActionList) - - await user.click(screen.getByText('Select items')) - - expect(document.activeElement!).toHaveAttribute('role', 'combobox') - - await user.keyboard('{ArrowDown}') - expect(document.activeElement!).toHaveAccessibleName('item one') - - await user.keyboard('{ArrowDown}') - expect(document.activeElement!).toHaveAccessibleName('item two') - - await user.keyboard('{ArrowDown}') - expect(document.activeElement!).toHaveAccessibleName('item three') - - // At end of list, should wrap to the beginning - await user.keyboard('{ArrowDown}') - expect(document.activeElement!).toHaveAccessibleName('item one') - - // At beginning of list, ArrowUp should wrap to the end - await user.keyboard('{ArrowUp}') - expect(document.activeElement!).toHaveAccessibleName('item three') - - await user.keyboard('{ArrowUp}') - expect(document.activeElement!).toHaveAccessibleName('item two') - - await user.keyboard('{ArrowUp}') - expect(document.activeElement!).toHaveAccessibleName('item one') - }) - - it('should support navigating through items with ArrowUp and ArrowDown using `aria-activedescendant`', async () => { - if (useModernActionList) return // this feature is only enabled with feature flag on - const user = userEvent.setup() renderWithFlag(, useModernActionList) @@ -397,18 +355,23 @@ for (const useModernActionList of [false, true]) { await user.click(screen.getByText('Select items')) // First item by default should be the active element - expect(document.activeElement!).toHaveAttribute('role', 'combobox') - - await user.type(document.activeElement!, '{ArrowDown}') - - expect(document.activeElement!).toHaveAttribute('role', 'option') + expect(document.activeElement!).toHaveAttribute( + 'aria-activedescendant', + screen.getByRole('option', {name: 'item one'}).id, + ) await user.type(document.activeElement!, '{PageDown}') - expect(document.activeElement!).toHaveAccessibleName('item three') + expect(document.activeElement!).toHaveAttribute( + 'aria-activedescendant', + screen.getByRole('option', {name: 'item three'}).id, + ) await user.type(document.activeElement!, '{PageUp}') - expect(document.activeElement!).toHaveAccessibleName('item one') + expect(document.activeElement!).toHaveAttribute( + 'aria-activedescendant', + screen.getByRole('option', {name: 'item one'}).id, + ) }) it('should select an item (by item.id) even when items are defined in the component', async () => { @@ -491,97 +454,6 @@ for (const useModernActionList of [false, true]) { ) } - const SelectPanelWithCustomMessages: React.FC<{items: SelectPanelProps['items']}> = ({items}) => { - const [selected, setSelected] = React.useState([]) - const [filter, setFilter] = React.useState('') - const [open, setOpen] = React.useState(false) - - const onSelectedChange = (selected: SelectPanelProps['items']) => { - setSelected(selected) - } - - const emptyMessage: {variant: 'empty'; title: string; body: string} = { - variant: 'empty', - title: "You haven't created any projects yet", - body: 'Start your first project to organise your issues', - } - - const noResultsMessage = (filter: string): {variant: 'empty'; title: string; body: string} => ({ - variant: 'empty', - title: `No language found for ${filter}`, - body: 'Adjust your search term to find other languages', - }) - - const filteredItems = items.filter(item => item.text?.includes(filter)) - - function getMessage() { - if (filteredItems.length === 0 && !filter) { - return emptyMessage - } - if (filteredItems.length === 0 && filter) { - return noResultsMessage(filter) - } - return undefined - } - - return ( - - { - setFilter(value) - }} - open={open} - onOpenChange={isOpen => { - setOpen(isOpen) - }} - message={getMessage()} - /> - - ) - } - - function NoItemAvailableSelectPanel() { - const [selected, setSelected] = React.useState([]) - const [filter, setFilter] = React.useState('') - const [open, setOpen] = React.useState(false) - - const onSelectedChange = (selected: SelectPanelProps['items']) => { - setSelected(selected) - } - - const items: SelectPanelProps['items'] = [] - - return ( - - item.text?.includes(filter))} - placeholder="Select items" - placeholderText="Filter items" - selected={selected} - onSelectedChange={onSelectedChange} - filterValue={filter} - onFilterChange={value => { - setFilter(value) - }} - open={open} - onOpenChange={isOpen => { - setOpen(isOpen) - }} - /> - - ) - } - describe('filtering', () => { it('should filter the list of items when the user types into the input', async () => { const user = userEvent.setup() @@ -682,7 +554,9 @@ for (const useModernActionList of [false, true]) { // we wait because announcement is intentionally updated after a timeout to not interrupt user input await waitFor(async () => { - expect(getLiveRegion().getMessage('polite')).toBe('3 items available, 0 selected.') + expect(getLiveRegion().getMessage('polite')).toBe( + 'List updated, Focused item: item one, not selected, 1 of 3', + ) }) }) @@ -695,7 +569,9 @@ for (const useModernActionList of [false, true]) { await waitFor( async () => { - expect(getLiveRegion().getMessage('polite')).toBe('3 items available, 0 selected.') + expect(getLiveRegion().getMessage('polite')).toBe( + 'List updated, Focused item: item one, not selected, 1 of 3', + ) }, {timeout: 3000}, // increased timeout because we don't want the test to compare with previous announcement ) @@ -705,7 +581,9 @@ for (const useModernActionList of [false, true]) { await waitFor( async () => { - expect(getLiveRegion().getMessage('polite')).toBe('2 items available, 0 selected.') + expect(getLiveRegion().getMessage('polite')).toBe( + 'List updated, Focused item: item one, not selected, 1 of 2', + ) }, {timeout: 3000}, // increased timeout because we don't want the test to compare with previous announcement ) @@ -714,7 +592,9 @@ for (const useModernActionList of [false, true]) { expect(screen.getAllByRole('option')).toHaveLength(1) await waitFor(async () => { - expect(getLiveRegion().getMessage('polite')).toBe('1 item available, 0 selected.') + expect(getLiveRegion().getMessage('polite')).toBe( + 'List updated, Focused item: item one, not selected, 1 of 1', + ) }) }) @@ -743,76 +623,6 @@ for (const useModernActionList of [false, true]) { }) }) - describe('Empty state', () => { - // This is only implemented with the feature flag (for now) - if (!useModernActionList) return - - it('should display the default empty state message when there is no matching item after filtering (No custom message is provided)', async () => { - const user = userEvent.setup() - - renderWithFlag(, useModernActionList) - - await user.click(screen.getByText('Select items')) - - expect(screen.getAllByRole('option')).toHaveLength(3) - - await user.type(document.activeElement!, 'something') - expect(screen.getByText("You haven't created any items yet")).toBeVisible() - expect(screen.getByText('Please add or create new items to populate the list.')).toBeVisible() - }) - - it('should display the default empty state message when there is no item after the initial load (No custom message is provided)', async () => { - const user = userEvent.setup() - - renderWithFlag(, useModernActionList) - - await waitFor(async () => { - await user.click(screen.getByText('Select items')) - expect(screen.getByText("You haven't created any items yet")).toBeVisible() - expect(screen.getByText('Please add or create new items to populate the list.')).toBeVisible() - }) - }) - it('should display the custom empty state message when there is no matching item after filtering', async () => { - const user = userEvent.setup() - - renderWithFlag( - , - useModernActionList, - ) - - await user.click(screen.getByText('Select items')) - - expect(screen.getAllByRole('option')).toHaveLength(3) - - await user.type(document.activeElement!, 'something') - expect(screen.getByText('No language found for something')).toBeVisible() - expect(screen.getByText('Adjust your search term to find other languages')).toBeVisible() - }) - - it('should display the custom empty state message when there is no item after the initial load', async () => { - const user = userEvent.setup() - - renderWithFlag(, useModernActionList) - - await waitFor(async () => { - await user.click(screen.getByText('Select items')) - expect(screen.getByText("You haven't created any projects yet")).toBeVisible() - expect(screen.getByText('Start your first project to organise your issues')).toBeVisible() - }) - }) - }) describe('with footer', () => { function SelectPanelWithFooter() { const [selected, setSelected] = React.useState([]) diff --git a/packages/react/src/SelectPanel/SelectPanel.tsx b/packages/react/src/SelectPanel/SelectPanel.tsx index 0758d4a6b2f..87755a2b0e3 100644 --- a/packages/react/src/SelectPanel/SelectPanel.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.tsx @@ -10,13 +10,13 @@ import Heading from '../Heading' import type {OverlayProps} from '../Overlay' import type {TextInputProps} from '../TextInput' import type {ItemProps, ItemInput} from './types' -import {SelectPanelMessage} from './SelectPanelMessage' import {Button, IconButton} from '../Button' import {useProvidedRefOrCreate} from '../hooks' import type {FocusZoneHookSettings} from '../hooks/useFocusZone' import {useId} from '../hooks/useId' import {useProvidedStateOrCreate} from '../hooks/useProvidedStateOrCreate' +import {LiveRegion, LiveRegionOutlet, Message} from '../internal/components/LiveRegion' import useSafeTimeout from '../hooks/useSafeTimeout' import type {FilteredActionListLoadingType} from '../FilteredActionList/FilteredActionListLoaders' import {FilteredActionListLoadingTypes} from '../FilteredActionList/FilteredActionListLoaders' @@ -24,18 +24,11 @@ import {useFeatureFlag} from '../FeatureFlags' import {announce} from '@primer/live-region-element' import classes from './SelectPanel.module.css' import {clsx} from 'clsx' -import {heightMap} from '../Overlay/Overlay' // we add a delay so that it does not interrupt default screen reader announcement and queues after it const delayMs = 500 const loadingDelayMs = 1000 -const DefaultEmptyMessage = ( - - Please add or create new items to populate the list. - -) - const getItemWithActiveDescendant = ( listRef: React.RefObject, items: FilteredActionListProps['items'], @@ -51,7 +44,7 @@ const getItemWithActiveDescendant = ( const activeItem = items[index] as ItemInput | undefined const text = activeItem?.text - const selected = activeItemElement.getAttribute('aria-selected') === 'true' + const selected = activeItem?.selected return {index, text, selected} } @@ -67,6 +60,10 @@ async function announceText(text: string) { }) } +async function announceFilterFocused() { + await announceText('Focus on filter text box and list of items') +} + async function announceNoItems() { await announceText('No matching items.') } @@ -134,21 +131,15 @@ interface SelectPanelBaseProps { text: string | React.ReactElement variant: 'info' | 'warning' | 'error' } - message?: { - title: string - body: string | React.ReactElement - variant: 'empty' | 'error' | 'warning' - } onCancel?: () => void } -export type SelectPanelProps = React.PropsWithChildren< - SelectPanelBaseProps & - Omit & - Pick & - AnchoredOverlayWrapperAnchorProps & - (SelectPanelSingleSelection | SelectPanelMultiSelection) -> +export type SelectPanelProps = SelectPanelBaseProps & + Omit & + Pick & + AnchoredOverlayWrapperAnchorProps & + (SelectPanelSingleSelection | SelectPanelMultiSelection) + function isMultiSelectVariant( selected: SelectPanelSingleSelection['selected'] | SelectPanelMultiSelection['selected'], ): selected is SelectPanelMultiSelection['selected'] { @@ -202,7 +193,6 @@ export function SelectPanel({ height, width, id, - message, notice, onCancel, ...listProps @@ -286,15 +276,13 @@ export function SelectPanel({ useEffect(() => { if (open) { - if (!usingModernActionList) { - if (items.length === 0) { - announceNoItems() + if (items.length === 0) { + announceNoItems() + } else { + if (listContainerElement) { + announceItemsChanged(items, {current: listContainerElement}) } else { - if (listContainerElement) { - announceItemsChanged(items, {current: listContainerElement}) - } else { - setNeedItemsChangedAnnouncement(true) - } + setNeedItemsChangedAnnouncement(true) } } } @@ -307,7 +295,7 @@ export function SelectPanel({ return } - if (isLoading || items.length > 0) { + if (isLoading) { setIsLoading(false) setDataLoadedOnce(true) } @@ -323,6 +311,15 @@ export function SelectPanel({ useEffect(() => { if (inputRef?.current) { const ref = inputRef.current + const listener = () => { + announceFilterFocused() + } + + if (document.activeElement === ref) { + listener() + } + + ref.addEventListener('focus', listener) // We would normally expect AnchoredOverlay's focus trap to automatically focus the input, // but for some reason the ref isn't populated until _after_ the panel is open, which is @@ -330,6 +327,8 @@ export function SelectPanel({ if (open) { ref.focus() } + + return () => ref.removeEventListener('focus', listener) } }, [inputRef, open]) @@ -381,13 +380,12 @@ export function SelectPanel({ }, [placeholder, renderAnchor, selected]) const itemsToRender = useMemo(() => { - return items.map((item, index) => { + return items.map(item => { const isItemSelected = isMultiSelectVariant(selected) ? doesItemsIncludeItem(selected, item) : selected === item return { ...item, role: 'option', - id: item.id || `select-panel-item-${index}`, selected: 'selected' in item && item.selected === undefined ? undefined : isItemSelected, onAction: (itemFromAction, event) => { item.onAction?.(itemFromAction, event) @@ -449,172 +447,167 @@ export function SelectPanel({ error: , } - function getMessage() { - // If there is no items after the first load, show the no items state - if (items.length === 0 && !message) { - return DefaultEmptyMessage - } else if (message) { - return ( - - {message.body} - - ) - } - } - return ( - - + + + {usingModernActionList ? null : ( + + )} -
- - {title} - - {subtitle ? ( - - {subtitle} - - ) : null} -
- {onCancel && ( - { - onCancel() - onClose('escape') - }} - /> - )} -
- {notice && ( -
- {iconForNoticeVariant[notice.variant]} -
{notice.text}
-
- )} - - {footer ? ( - {footer} - - ) : isMultiSelectVariant(selected) ? ( - /* Save and Cancel buttons are only useful for multiple selection, single selection instantly closes the panel */ -
- {/* we add a save and cancel button on narrow screens when SelectPanel is full-screen */} +
+ + {title} + + {subtitle ? ( + + {subtitle} + + ) : null} +
{onCancel && ( - + /> )} - -
- ) : null} -
-
+ {footer} + + ) : isMultiSelectVariant(selected) ? ( + /* Save and Cancel buttons are only useful for multiple selection, single selection instantly closes the panel */ +
+ {/* we add a save and cancel button on narrow screens when SelectPanel is full-screen */} + {onCancel && ( + + )} + +
+ ) : null} + + + ) } + +SelectPanel.displayName = 'SelectPanel' diff --git a/packages/react/src/SelectPanel/SelectPanelMessage.tsx b/packages/react/src/SelectPanel/SelectPanelMessage.tsx deleted file mode 100644 index a2f099d231d..00000000000 --- a/packages/react/src/SelectPanel/SelectPanelMessage.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react' -import Text from '../Text' -import Octicon from '../Octicon' -import {AlertIcon} from '@primer/octicons-react' -import classes from './SelectPanel.module.css' -import {clsx} from 'clsx' - -export type SelectPanelMessageProps = { - children: React.ReactNode - title: string - variant: 'empty' | 'error' | 'warning' - className?: string -} - -export const SelectPanelMessage: React.FC = ({variant, title, children, className}) => { - return ( -
- {variant !== 'empty' ? : null} - {title} - {children} -
- ) -} diff --git a/script/generate-e2e-tests.js b/script/generate-e2e-tests.js index 3c38372326f..8405ba30bd8 100755 --- a/script/generate-e2e-tests.js +++ b/script/generate-e2e-tests.js @@ -1142,8 +1142,8 @@ const components = new Map([ name: 'Above Tall Body', }, { - id: 'components-selectpanel-examples--height-variations-and-scroll', - name: 'Height Variations and Scroll', + id: 'components-selectpanel-examples--height-variantions-and-scroll', + name: 'Height Variantions and Scroll', }, { id: 'components-selectpanel-examples--height-initial-with-overflowing-items-story',