feat: menu theme implemented by design token (#36738)

* feat: menu theme implemented by design token

* test: fix test

* fix: lint

* fix: menu motion

* 偷偷加了几个token

Co-authored-by: 期贤 <qixian.cs@antgroup.com>
This commit is contained in:
MadCcc 2022-07-28 20:33:10 +08:00 committed by GitHub
parent 79760145cb
commit d7c2f5f5d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 592 additions and 584 deletions

View File

@ -137,7 +137,7 @@ exports[`renders ./components/breadcrumb/demo/overlay.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -1827,7 +1827,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -17437,7 +17437,7 @@ exports[`ConfigProvider components List prefixCls 1`] = `
exports[`ConfigProvider components Menu configProvider 1`] = `
Array [
<ul
class="config-menu config-menu-root config-menu-inline config-menu-light"
class="config-menu config-menu-root config-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17506,7 +17506,7 @@ Array [
exports[`ConfigProvider components Menu configProvider componentDisabled 1`] = `
Array [
<ul
class="config-menu config-menu-root config-menu-inline config-menu-light"
class="config-menu config-menu-root config-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17575,7 +17575,7 @@ Array [
exports[`ConfigProvider components Menu configProvider componentSize large 1`] = `
Array [
<ul
class="config-menu config-menu-root config-menu-inline config-menu-light"
class="config-menu config-menu-root config-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17644,7 +17644,7 @@ Array [
exports[`ConfigProvider components Menu configProvider componentSize middle 1`] = `
Array [
<ul
class="config-menu config-menu-root config-menu-inline config-menu-light"
class="config-menu config-menu-root config-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17713,7 +17713,7 @@ Array [
exports[`ConfigProvider components Menu configProvider virtual and dropdownMatchSelectWidth 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17782,7 +17782,7 @@ Array [
exports[`ConfigProvider components Menu normal 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17851,7 +17851,7 @@ Array [
exports[`ConfigProvider components Menu prefixCls 1`] = `
Array [
<ul
class="prefix-Menu prefix-Menu-root prefix-Menu-inline prefix-Menu-light"
class="prefix-Menu prefix-Menu-root prefix-Menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -26304,7 +26304,7 @@ exports[`ConfigProvider components Table configProvider 1`] = `
class="config-table-filter-dropdown"
>
<ul
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical config-dropdown-menu-light"
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -26604,7 +26604,7 @@ exports[`ConfigProvider components Table configProvider componentDisabled 1`] =
class="config-table-filter-dropdown"
>
<ul
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical config-dropdown-menu-light"
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -26906,7 +26906,7 @@ exports[`ConfigProvider components Table configProvider componentSize large 1`]
class="config-table-filter-dropdown"
>
<ul
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical config-dropdown-menu-light"
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -27206,7 +27206,7 @@ exports[`ConfigProvider components Table configProvider componentSize middle 1`]
class="config-table-filter-dropdown"
>
<ul
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical config-dropdown-menu-light"
class="config-dropdown-menu config-dropdown-menu-root config-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -27506,7 +27506,7 @@ exports[`ConfigProvider components Table configProvider virtual and dropdownMatc
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -27806,7 +27806,7 @@ exports[`ConfigProvider components Table normal 1`] = `
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -28106,7 +28106,7 @@ exports[`ConfigProvider components Table prefixCls 1`] = `
class="prefix-Table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -19,7 +19,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -232,7 +232,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -445,7 +445,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -659,7 +659,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -872,7 +872,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1085,7 +1085,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1303,7 +1303,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1516,7 +1516,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1729,7 +1729,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1943,7 +1943,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2156,7 +2156,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2369,7 +2369,7 @@ Array [
class="ant-dropdown-arrow"
/>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2613,7 +2613,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2900,7 +2900,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3131,7 +3131,7 @@ exports[`renders ./components/dropdown/demo/dropdown-button.md extend context co
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3413,7 +3413,7 @@ exports[`renders ./components/dropdown/demo/dropdown-button.md extend context co
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3697,7 +3697,7 @@ exports[`renders ./components/dropdown/demo/dropdown-button.md extend context co
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4007,7 +4007,7 @@ exports[`renders ./components/dropdown/demo/dropdown-button.md extend context co
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4292,7 +4292,7 @@ exports[`renders ./components/dropdown/demo/dropdown-button.md extend context co
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4576,7 +4576,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4802,7 +4802,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5070,7 +5070,7 @@ exports[`renders ./components/dropdown/demo/loading.md extend context correctly
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5208,7 +5208,7 @@ exports[`renders ./components/dropdown/demo/loading.md extend context correctly
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5323,7 +5323,7 @@ exports[`renders ./components/dropdown/demo/loading.md extend context correctly
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5437,7 +5437,7 @@ exports[`renders ./components/dropdown/demo/loading.md extend context correctly
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5555,7 +5555,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5701,7 +5701,7 @@ Array [
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu"
style="opacity:0"
>
<ul
@ -5933,7 +5933,7 @@ Array [
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu"
style="opacity:0"
>
<ul
@ -6048,7 +6048,7 @@ Array [
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu"
style="opacity:0"
>
<ul
@ -6190,7 +6190,7 @@ Array [
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu"
style="opacity:0"
>
<ul
@ -6697,7 +6697,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -6908,7 +6908,7 @@ exports[`renders ./components/dropdown/demo/placement.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7123,7 +7123,7 @@ exports[`renders ./components/dropdown/demo/placement.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7338,7 +7338,7 @@ exports[`renders ./components/dropdown/demo/placement.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7562,7 +7562,7 @@ exports[`renders ./components/dropdown/demo/placement.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7777,7 +7777,7 @@ exports[`renders ./components/dropdown/demo/placement.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7992,7 +7992,7 @@ exports[`renders ./components/dropdown/demo/placement.md extend context correctl
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -8207,7 +8207,7 @@ exports[`renders ./components/dropdown/demo/render-panel.md extend context corre
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -8525,7 +8525,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -8751,7 +8751,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -8878,7 +8878,7 @@ Array [
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu"
style="opacity:0"
>
<ul
@ -8997,7 +8997,7 @@ Array [
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu"
style="opacity:0"
>
<ul
@ -9262,7 +9262,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -519,7 +519,7 @@ exports[`renders ./components/empty/demo/config-provider.md extend context corre
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -805,7 +805,7 @@ exports[`renders ./components/empty/demo/config-provider.md extend context corre
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -89,7 +89,7 @@ export type { ListProps } from './list';
export { default as Mentions } from './mentions';
export type { MentionProps } from './mentions';
export { default as Menu } from './menu';
export type { MenuItemProps, MenuProps, MenuTheme, SubMenuProps } from './menu';
export type { MenuItemProps, MenuProps, MenuTheme, SubMenuProps, MenuRef } from './menu';
export { default as message } from './message';
export type { ArgsProps as MessageArgsProps } from './message';
export { default as Modal } from './modal';

View File

@ -138,7 +138,7 @@ exports[`renders ./components/layout/demo/custom-trigger.md extend context corre
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -426,7 +426,7 @@ exports[`renders ./components/layout/demo/fixed.md extend context correctly 1`]
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -571,7 +571,7 @@ exports[`renders ./components/layout/demo/fixed.md extend context correctly 1`]
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup"
style="opacity:0"
>
<ul
@ -732,7 +732,7 @@ exports[`renders ./components/layout/demo/fixed-sider.md extend context correctl
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1591,7 +1591,7 @@ exports[`renders ./components/layout/demo/responsive.md extend context correctly
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1948,7 +1948,7 @@ exports[`renders ./components/layout/demo/side.md extend context correctly 1`] =
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2101,7 +2101,7 @@ exports[`renders ./components/layout/demo/side.md extend context correctly 1`] =
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -2256,7 +2256,7 @@ exports[`renders ./components/layout/demo/side.md extend context correctly 1`] =
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -2666,7 +2666,7 @@ exports[`renders ./components/layout/demo/top.md extend context correctly 1`] =
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3219,7 +3219,7 @@ exports[`renders ./components/layout/demo/top.md extend context correctly 1`] =
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup"
style="opacity:0"
>
<ul
@ -3639,7 +3639,7 @@ exports[`renders ./components/layout/demo/top-side.md extend context correctly 1
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3784,7 +3784,7 @@ exports[`renders ./components/layout/demo/top-side.md extend context correctly 1
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup"
style="opacity:0"
>
<ul
@ -3926,7 +3926,7 @@ exports[`renders ./components/layout/demo/top-side.md extend context correctly 1
class="ant-layout-sider-children"
>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="height:100%"
@ -3974,7 +3974,7 @@ exports[`renders ./components/layout/demo/top-side.md extend context correctly 1
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4304,7 +4304,7 @@ exports[`renders ./components/layout/demo/top-side.md extend context correctly 1
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4493,7 +4493,7 @@ exports[`renders ./components/layout/demo/top-side.md extend context correctly 1
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4940,7 +4940,7 @@ exports[`renders ./components/layout/demo/top-side-2.md extend context correctly
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5085,7 +5085,7 @@ exports[`renders ./components/layout/demo/top-side-2.md extend context correctly
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup"
style="opacity:0"
>
<ul
@ -5179,7 +5179,7 @@ exports[`renders ./components/layout/demo/top-side-2.md extend context correctly
class="ant-layout-sider-children"
>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="height:100%;border-right:0"
@ -5227,7 +5227,7 @@ exports[`renders ./components/layout/demo/top-side-2.md extend context correctly
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -5557,7 +5557,7 @@ exports[`renders ./components/layout/demo/top-side-2.md extend context correctly
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -5746,7 +5746,7 @@ exports[`renders ./components/layout/demo/top-side-2.md extend context correctly
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul

View File

@ -138,7 +138,7 @@ exports[`renders ./components/layout/demo/custom-trigger.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -293,7 +293,7 @@ exports[`renders ./components/layout/demo/fixed.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -455,7 +455,7 @@ exports[`renders ./components/layout/demo/fixed-sider.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -961,7 +961,7 @@ exports[`renders ./components/layout/demo/responsive.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1141,7 +1141,7 @@ exports[`renders ./components/layout/demo/side.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1422,7 +1422,7 @@ exports[`renders ./components/layout/demo/top.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1723,7 +1723,7 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1866,7 +1866,7 @@ exports[`renders ./components/layout/demo/top-side.md correctly 1`] = `
class="ant-layout-sider-children"
>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="height:100%"
@ -2083,7 +2083,7 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
class="logo"
/>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2178,7 +2178,7 @@ exports[`renders ./components/layout/demo/top-side-2.md correctly 1`] = `
class="ant-layout-sider-children"
>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="height:100%;border-right:0"

View File

@ -6,7 +6,6 @@ export type MenuTheme = 'light' | 'dark';
export interface MenuContextProps {
prefixCls: string;
inlineCollapsed: boolean;
antdMenuTheme?: MenuTheme;
direction?: DirectionType;
firstLevel: boolean;
/** @private Internal Usage. Safe to remove */

View File

@ -1,5 +1,5 @@
import * as React from 'react';
import type { MenuProps } from '.';
import type { MenuProps } from './menu';
// Used for Dropdown only
export interface OverrideContextProps {

View File

@ -24,13 +24,14 @@ export interface SubMenuProps {
popupOffset?: [number, number];
popupClassName?: string;
children?: React.ReactNode;
// FIXME: not implemented in v5 yet
theme?: MenuTheme;
}
function SubMenu(props: SubMenuProps) {
const { popupClassName, icon, title, theme } = props;
const { popupClassName, icon, title } = props;
const context = React.useContext(MenuContext);
const { prefixCls, inlineCollapsed, antdMenuTheme } = context;
const { prefixCls, inlineCollapsed } = context;
const parentPath = useFullPath();
@ -73,11 +74,7 @@ function SubMenu(props: SubMenuProps) {
<RcSubMenu
{...omit(props, ['icon'])}
title={titleNode}
popupClassName={classNames(
prefixCls,
`${prefixCls}-${theme || antdMenuTheme}`,
popupClassName,
)}
popupClassName={classNames(prefixCls, popupClassName)}
/>
</MenuContext.Provider>
);

View File

@ -3,7 +3,7 @@
exports[`renders ./components/menu/demo/deprecated.md extend context correctly 1`] = `
Array [
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-light"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -140,7 +140,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup"
style="opacity:0"
>
<ul
@ -272,7 +272,7 @@ Array [
exports[`renders ./components/menu/demo/horizontal.md extend context correctly 1`] = `
Array [
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-light"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -502,7 +502,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup"
style="opacity:0"
>
<ul
@ -678,7 +678,7 @@ Array [
exports[`renders ./components/menu/demo/inline.md extend context correctly 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -726,7 +726,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -1112,7 +1112,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -1210,7 +1210,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -1335,7 +1335,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -1785,7 +1785,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md extend context corre
</span>
</button>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1991,7 +1991,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md extend context corre
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -2321,7 +2321,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md extend context corre
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -2419,7 +2419,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md extend context corre
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -2756,7 +2756,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md extend context corre
exports[`renders ./components/menu/demo/sider-current.md extend context correctly 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -2804,7 +2804,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -3134,7 +3134,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -3232,7 +3232,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -3357,7 +3357,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -3797,7 +3797,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-dark ant-menu-inline-collapsed"
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-inline-collapsed"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3844,7 +3844,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -3945,7 +3945,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -3999,7 +3999,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4090,7 +4090,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-vertical"
data-menu-list="true"
role="menu"
style="width:256px"
@ -4138,7 +4138,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4470,7 +4470,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -4624,7 +4624,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4722,7 +4722,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -4899,7 +4899,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -5022,7 +5022,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -5499,7 +5499,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -5547,7 +5547,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -5877,7 +5877,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -5975,7 +5975,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -6100,7 +6100,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-dark"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -6523,7 +6523,7 @@ Array [
exports[`renders ./components/menu/demo/vertical.md extend context correctly 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-light"
class="ant-menu ant-menu-root ant-menu-vertical"
data-menu-list="true"
role="menu"
style="width:256px"
@ -6570,7 +6570,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -6782,7 +6782,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -6877,7 +6877,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul
@ -6999,7 +6999,7 @@ Array [
</div>
<div>
<div
class="ant-menu-submenu ant-menu-submenu-popup ant-menu ant-menu-light"
class="ant-menu-submenu ant-menu-submenu-popup ant-menu"
style="opacity:0"
>
<ul

View File

@ -3,7 +3,7 @@
exports[`renders ./components/menu/demo/deprecated.md correctly 1`] = `
Array [
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-light"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -128,7 +128,7 @@ Array [
exports[`renders ./components/menu/demo/horizontal.md correctly 1`] = `
Array [
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-light"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal"
data-menu-list="true"
role="menu"
tabindex="0"
@ -302,7 +302,7 @@ Array [
exports[`renders ./components/menu/demo/inline.md correctly 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -550,7 +550,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md correctly 1`] = `
</span>
</button>
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -794,7 +794,7 @@ exports[`renders ./components/menu/demo/inline-collapsed.md correctly 1`] = `
exports[`renders ./components/menu/demo/sider-current.md correctly 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -1004,7 +1004,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-dark ant-menu-inline-collapsed"
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-inline-collapsed"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1143,7 +1143,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-vertical"
data-menu-list="true"
role="menu"
style="width:256px"
@ -1257,7 +1257,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -1523,7 +1523,7 @@ Array [
<br />,
<br />,
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-dark"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
style="width:256px"
@ -1716,7 +1716,7 @@ Array [
exports[`renders ./components/menu/demo/vertical.md correctly 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-light"
class="ant-menu ant-menu-root ant-menu-vertical"
data-menu-list="true"
role="menu"
style="width:256px"

View File

@ -3,7 +3,7 @@
exports[`Menu Menu.Item with icon children auto wrap span 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-light"
class="ant-menu ant-menu-root ant-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -165,7 +165,7 @@ Array [
exports[`Menu all types must be available in the "items" syntax 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -326,9 +326,8 @@ Array [
exports[`Menu rtl render component should be rendered correctly in RTL direction 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-light ant-menu-rtl"
class="ant-menu ant-menu-root ant-menu-vertical"
data-menu-list="true"
dir="rtl"
role="menu"
tabindex="0"
>
@ -384,7 +383,7 @@ Array [
exports[`Menu should controlled collapse work 1`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-inline ant-menu-light"
class="ant-menu ant-menu-root ant-menu-inline"
data-menu-list="true"
role="menu"
tabindex="0"
@ -432,7 +431,7 @@ Array [
exports[`Menu should controlled collapse work 2`] = `
Array [
<ul
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-light ant-menu-inline-collapsed"
class="ant-menu ant-menu-root ant-menu-vertical ant-menu-inline-collapsed"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -319,31 +319,6 @@ describe('Menu', () => {
);
});
describe('allows the overriding of theme at the popup submenu level', () => {
const menuModesWithPopupSubMenu = ['horizontal', 'vertical'];
menuModesWithPopupSubMenu.forEach(menuMode => {
it(`when menu is mode ${menuMode}`, () => {
const { container } = render(
<Menu mode={menuMode} openKeys={['1']} theme="dark">
<SubMenu key="1" title="submenu1" theme="light">
<Menu.Item key="submenu1">Option 1</Menu.Item>
<Menu.Item key="submenu2">Option 2</Menu.Item>
</SubMenu>
<Menu.Item key="2">menu2</Menu.Item>
</Menu>,
);
act(() => {
jest.runAllTimers();
});
expect(container.querySelector('ul.ant-menu-root')).toHaveClass('ant-menu-dark');
expect(container.querySelector('div.ant-menu-submenu-popup')).toHaveClass('ant-menu-light');
});
});
});
// https://github.com/ant-design/ant-design/pulls/4677
// https://github.com/ant-design/ant-design/issues/4692
// TypeError: Cannot read property 'indexOf' of undefined

View File

@ -1,217 +1,96 @@
import EllipsisOutlined from '@ant-design/icons/EllipsisOutlined';
import classNames from 'classnames';
import type { MenuProps as RcMenuProps, MenuRef } from 'rc-menu';
import RcMenu, { ItemGroup } from 'rc-menu';
import useEvent from 'rc-util/lib/hooks/useEvent';
import omit from 'rc-util/lib/omit';
import { ItemGroup } from 'rc-menu';
import type { MenuRef as RcMenuRef } from 'rc-menu';
import * as React from 'react';
import { forwardRef } from 'react';
import { ConfigContext } from '../config-provider';
import { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';
import { TinyColor } from '@ctrl/tinycolor';
import type { MenuProps } from './menu';
import InternalMenu from './menu';
import type { SiderContextProps } from '../layout/Sider';
import { SiderContext } from '../layout/Sider';
import initCollapseMotion from '../_util/motion';
import { cloneElement } from '../_util/reactNode';
import warning from '../_util/warning';
import type { ItemType } from './hooks/useItems';
import useItems from './hooks/useItems';
import MenuContext, { MenuTheme } from './MenuContext';
import { MenuTheme } from './MenuContext';
import MenuDivider from './MenuDivider';
import Item, { MenuItemProps } from './MenuItem';
import OverrideContext from './OverrideContext';
import SubMenu, { SubMenuProps } from './SubMenu';
import useStyle from './style';
import { ConfigProvider } from '..';
import type { ComponentToken } from './style';
import { useToken } from '../theme';
export { MenuItemGroupProps } from 'rc-menu';
export { MenuDividerProps } from './MenuDivider';
export { MenuTheme, SubMenuProps, MenuItemProps };
export { MenuTheme, SubMenuProps, MenuItemProps, MenuProps };
export type MenuMode = 'vertical' | 'vertical-left' | 'vertical-right' | 'horizontal' | 'inline';
export interface MenuProps extends Omit<RcMenuProps, 'items'> {
theme?: MenuTheme;
inlineIndent?: number;
export type MenuRef = {
menu: RcMenuRef | null;
focus: (options?: FocusOptions) => void;
};
// >>>>> Private
/**
* @private Internal Usage. Not promise crash if used in production. Connect with chenshuai2144
* for removing.
*/
_internalDisableMenuItemTitleTooltip?: boolean;
items?: ItemType[];
interface CompoundedComponent
extends React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<MenuRef>> {
Divider: typeof MenuDivider;
Item: typeof Item;
SubMenu: typeof SubMenu;
ItemGroup: typeof ItemGroup;
}
type InternalMenuProps = MenuProps &
SiderContextProps & {
collapsedWidth?: string | number;
};
const ThemedMenu = forwardRef<MenuRef, MenuProps>(({ theme = 'light', ...rest }, ref) => {
const menuRef = useRef<RcMenuRef>(null);
const [, token] = useToken();
const InternalMenu = forwardRef<MenuRef, InternalMenuProps>((props, ref) => {
const override = React.useContext(OverrideContext);
const overrideObj = override || {};
useImperativeHandle(ref, () => ({
focus: options => {
menuRef.current?.focus(options);
},
menu: menuRef.current,
}));
const { getPrefixCls, getPopupContainer, direction } = React.useContext(ConfigContext);
const { colorTextLightSolid, colorTextSecondary, colorPrimary, colorError, colorErrorHover } =
token;
const rootPrefixCls = getPrefixCls();
const darkThemeToken = useMemo<Partial<ComponentToken>>(() => {
if (theme === 'dark') {
return {
colorItemText: new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString(),
colorItemTextHover: colorTextLightSolid,
colorGroupTitle: colorTextSecondary,
colorItemTextSelected: colorTextLightSolid,
colorItemBg: '#001529',
colorSubItemBg: '#000c17',
colorItemBgActive: 'transparent',
colorItemBgSelected: colorPrimary,
colorActiveBarWidth: 0,
colorActiveBarHeight: 0,
colorActiveBarBorderSize: 0,
const {
prefixCls: customizePrefixCls,
className,
theme = 'light',
expandIcon,
_internalDisableMenuItemTitleTooltip,
inlineCollapsed,
siderCollapsed,
items,
children,
rootClassName,
mode,
selectable,
onClick,
...restProps
} = props;
// Disabled
colorItemTextDisabled: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),
const passedProps = omit(restProps, ['collapsedWidth']);
// ========================= Items ===========================
const mergedChildren = useItems(items) || children;
// ======================== Warning ==========================
warning(
!('inlineCollapsed' in props && mode !== 'inline'),
'Menu',
'`inlineCollapsed` should only be used when `mode` is inline.',
);
warning(
!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props),
'Menu',
'`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.',
);
warning(
'items' in props && !children,
'Menu',
'`children` will be removed in next major version. Please use `items` instead.',
);
overrideObj.validator?.({ mode });
// ========================== Click ==========================
// Tell dropdown that item clicked
const onItemClick = useEvent<Required<MenuProps>['onClick']>((...args) => {
onClick?.(...args);
overrideObj.onClick?.();
});
// ========================== Mode ===========================
const mergedMode = overrideObj.mode || mode;
// ======================= Selectable ========================
const mergedSelectable = selectable ?? overrideObj.selectable;
// ======================== Collapsed ========================
// Inline Collapsed
const mergedInlineCollapsed = React.useMemo(() => {
if (siderCollapsed !== undefined) {
return siderCollapsed;
// Danger
colorDangerItemText: colorError,
colorDangerItemTextHover: colorErrorHover,
colorDangerItemTextSelected: colorTextLightSolid,
colorDangerItemBgActive: colorError,
colorDangerItemBgSelected: colorError,
};
}
return inlineCollapsed;
}, [inlineCollapsed, siderCollapsed]);
return {};
}, [theme]);
const defaultMotions = {
horizontal: { motionName: `${rootPrefixCls}-slide-up` },
inline: initCollapseMotion(rootPrefixCls),
other: { motionName: `${rootPrefixCls}-zoom-big` },
};
const prefixCls = getPrefixCls('menu', customizePrefixCls || overrideObj.prefixCls);
const [wrapSSR, hashId] = useStyle(prefixCls, !override);
const menuClassName = classNames(`${prefixCls}-${theme}`, className);
// ====================== Expand Icon ========================
let mergedExpandIcon: MenuProps[`expandIcon`];
if (typeof expandIcon === 'function') {
mergedExpandIcon = expandIcon;
} else {
mergedExpandIcon = cloneElement(expandIcon || overrideObj.expandIcon, {
className: `${prefixCls}-submenu-expand-icon`,
});
}
// ======================== Context ==========================
const contextValue = React.useMemo(
() => ({
prefixCls,
inlineCollapsed: mergedInlineCollapsed || false,
antdMenuTheme: theme,
direction,
firstLevel: true,
disableMenuItemTitleTooltip: _internalDisableMenuItemTitleTooltip,
}),
[prefixCls, mergedInlineCollapsed, theme, direction, _internalDisableMenuItemTitleTooltip],
);
// ========================= Render ==========================
return wrapSSR(
<OverrideContext.Provider value={null}>
<MenuContext.Provider value={contextValue}>
<RcMenu
getPopupContainer={getPopupContainer}
overflowedIndicator={<EllipsisOutlined />}
overflowedIndicatorPopupClassName={`${prefixCls}-${theme}`}
mode={mergedMode}
selectable={mergedSelectable}
onClick={onItemClick}
{...passedProps}
inlineCollapsed={mergedInlineCollapsed}
className={menuClassName}
prefixCls={prefixCls}
direction={direction}
defaultMotions={defaultMotions}
expandIcon={mergedExpandIcon}
ref={ref}
rootClassName={classNames(rootClassName, hashId)}
>
{mergedChildren}
</RcMenu>
</MenuContext.Provider>
</OverrideContext.Provider>,
return (
<ConfigProvider theme={{ override: { Menu: darkThemeToken } }}>
<SiderContext.Consumer>
{(context: SiderContextProps) => <InternalMenu ref={menuRef} {...rest} {...context} />}
</SiderContext.Consumer>
</ConfigProvider>
);
});
// We should keep this as ref-able
class Menu extends React.Component<MenuProps, {}> {
static Divider = MenuDivider;
const Menu: CompoundedComponent = ThemedMenu as CompoundedComponent;
static Item = Item;
static SubMenu = SubMenu;
static ItemGroup = ItemGroup;
menu: MenuRef | null;
focus = (options?: FocusOptions) => {
this.menu?.focus(options);
};
render() {
return (
<SiderContext.Consumer>
{(context: SiderContextProps) => (
<InternalMenu
ref={node => {
this.menu = node;
}}
{...this.props}
{...context}
/>
)}
</SiderContext.Consumer>
);
}
}
Menu.Divider = MenuDivider;
Menu.Item = Item;
Menu.SubMenu = SubMenu;
Menu.ItemGroup = ItemGroup;
export default Menu;

168
components/menu/menu.tsx Normal file
View File

@ -0,0 +1,168 @@
import type { MenuProps as RcMenuProps, MenuRef as RcMenuRef } from 'rc-menu';
import RcMenu from 'rc-menu';
import * as React from 'react';
import { forwardRef } from 'react';
import omit from 'rc-util/lib/omit';
import useEvent from 'rc-util/lib/hooks/useEvent';
import classNames from 'classnames';
import EllipsisOutlined from '@ant-design/icons/EllipsisOutlined';
import warning from '../_util/warning';
import initCollapseMotion from '../_util/motion';
import { cloneElement } from '../_util/reactNode';
import type { SiderContextProps } from '../layout/Sider';
import { ConfigContext } from '../config-provider';
import useStyle from './style';
import OverrideContext from './OverrideContext';
import useItems from './hooks/useItems';
import type { ItemType } from './hooks/useItems';
import MenuContext from './MenuContext';
import type { MenuTheme } from './MenuContext';
export interface MenuProps extends Omit<RcMenuProps, 'items'> {
theme?: MenuTheme;
inlineIndent?: number;
// >>>>> Private
/**
* @private Internal Usage. Not promise crash if used in production. Connect with chenshuai2144
* for removing.
*/
_internalDisableMenuItemTitleTooltip?: boolean;
items?: ItemType[];
}
type InternalMenuProps = Omit<MenuProps, 'theme'> &
SiderContextProps & {
collapsedWidth?: string | number;
};
const InternalMenu = forwardRef<RcMenuRef, InternalMenuProps>((props, ref) => {
const override = React.useContext(OverrideContext);
const overrideObj = override || {};
const { getPrefixCls, getPopupContainer, direction } = React.useContext(ConfigContext);
const rootPrefixCls = getPrefixCls();
const {
prefixCls: customizePrefixCls,
expandIcon,
_internalDisableMenuItemTitleTooltip,
inlineCollapsed,
siderCollapsed,
items,
children,
rootClassName,
mode,
selectable,
onClick,
...restProps
} = props;
const passedProps = omit(restProps, ['collapsedWidth']);
// ========================= Items ===========================
const mergedChildren = useItems(items) || children;
// ======================== Warning ==========================
warning(
!('inlineCollapsed' in props && mode !== 'inline'),
'Menu',
'`inlineCollapsed` should only be used when `mode` is inline.',
);
warning(
!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props),
'Menu',
'`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.',
);
warning(
'items' in props && !children,
'Menu',
'`children` will be removed in next major version. Please use `items` instead.',
);
overrideObj.validator?.({ mode });
// ========================== Click ==========================
// Tell dropdown that item clicked
const onItemClick = useEvent<Required<MenuProps>['onClick']>((...args) => {
onClick?.(...args);
overrideObj.onClick?.();
});
// ========================== Mode ===========================
const mergedMode = overrideObj.mode || mode;
// ======================= Selectable ========================
const mergedSelectable = selectable ?? overrideObj.selectable;
// ======================== Collapsed ========================
// Inline Collapsed
const mergedInlineCollapsed = React.useMemo(() => {
if (siderCollapsed !== undefined) {
return siderCollapsed;
}
return inlineCollapsed;
}, [inlineCollapsed, siderCollapsed]);
const defaultMotions = {
horizontal: { motionName: `${rootPrefixCls}-slide-up` },
inline: initCollapseMotion(rootPrefixCls),
other: { motionName: `${rootPrefixCls}-zoom-big` },
};
const prefixCls = getPrefixCls('menu', customizePrefixCls || overrideObj.prefixCls);
const [wrapSSR, hashId] = useStyle(prefixCls, !override);
// ====================== Expand Icon ========================
let mergedExpandIcon: MenuProps[`expandIcon`];
if (typeof expandIcon === 'function') {
mergedExpandIcon = expandIcon;
} else {
mergedExpandIcon = cloneElement(expandIcon || overrideObj.expandIcon, {
className: `${prefixCls}-submenu-expand-icon`,
});
}
// ======================== Context ==========================
const contextValue = React.useMemo(
() => ({
prefixCls,
inlineCollapsed: mergedInlineCollapsed || false,
direction,
firstLevel: true,
disableMenuItemTitleTooltip: _internalDisableMenuItemTitleTooltip,
}),
[prefixCls, mergedInlineCollapsed, direction, _internalDisableMenuItemTitleTooltip],
);
// ========================= Render ==========================
return wrapSSR(
<OverrideContext.Provider value={null}>
<MenuContext.Provider value={contextValue}>
<RcMenu
getPopupContainer={getPopupContainer}
overflowedIndicator={<EllipsisOutlined />}
mode={mergedMode}
selectable={mergedSelectable}
onClick={onItemClick}
{...passedProps}
inlineCollapsed={mergedInlineCollapsed}
prefixCls={prefixCls}
direction={direction}
defaultMotions={defaultMotions}
expandIcon={mergedExpandIcon}
ref={ref}
rootClassName={classNames(rootClassName, hashId)}
>
{mergedChildren}
</RcMenu>
</MenuContext.Provider>
</OverrideContext.Provider>,
);
});
export default InternalMenu;

View File

@ -1,7 +1,7 @@
import type { MenuThemeToken } from '.';
import type { MenuToken } from '.';
import type { GenerateStyle } from '../../theme';
const getHorizontalStyle: GenerateStyle<MenuThemeToken> = token => {
const getHorizontalStyle: GenerateStyle<MenuToken> = token => {
const {
componentCls,
motionDurationSlow,

View File

@ -1,5 +1,4 @@
import { TinyColor } from '@ctrl/tinycolor';
import { genCollapseMotion } from '../../style/motion';
import { genCollapseMotion, initSlideMotion, initZoomMotion } from '../../style/motion';
import type { FullToken, GenerateStyle, UseComponentStyleResult } from '../../theme';
import { genComponentStyleHook, mergeToken } from '../../theme';
import getHorizontalStyle from './horizontal';
@ -12,6 +11,44 @@ import { clearFix, resetComponent, resetIcon } from '../../style';
export interface ComponentToken {
dropdownWidth: number;
zIndexPopup: number;
// Group
colorGroupTitle: string;
// radius
radiusItem: number;
// Item Text
// > Default
colorItemText: string;
colorItemTextHover: string;
colorItemTextSelected: string;
// > Disabled
colorItemTextDisabled: string;
// > Danger
colorDangerItemText: string;
colorDangerItemTextHover: string;
colorDangerItemTextSelected: string;
// Item Bg
colorItemBg: string;
colorSubItemBg: string;
// > Default
colorItemBgActive: string;
colorItemBgSelected: string;
colorItemBgSelectedHorizontal: string;
// > Danger
colorDangerItemBgActive: string;
colorDangerItemBgSelected: string;
// Ink Bar
colorActiveBarWidth: number;
colorActiveBarHeight: number;
colorActiveBarBorderSize: number;
}
export interface MenuToken extends FullToken<'Menu'> {
@ -23,42 +60,6 @@ export interface MenuToken extends FullToken<'Menu'> {
menuPanelMaskInset: number;
}
export interface MenuThemeToken extends MenuToken {
// Group
themeColorTextSecondary: string;
// Item Text
// > Default
themeColorText: string;
themeColorTextHover: string;
themeColorTextSelect: string;
// > Disabled
themeColorDisabledText: string;
// > Danger
themeColorDangerText: string;
themeColorDangerTextHover: string;
themeColorDangerTextSelect: string;
// Item Bg
themeColorBg: string;
themeColorBgSecondary: string;
// > Default
themeColorBgActive: string;
themeColorBgSelect: string;
// > Danger
themeColorDangerBgActive: string;
themeColorDangerBgSelect: string;
// Ink Bar
themeInkBarWidth: number;
themeInkBarHeight: number;
themeInkBorderSize: number;
}
// =============================== Base ===============================
const getBaseStyle: GenerateStyle<MenuToken> = token => {
const {
@ -131,6 +132,9 @@ const getBaseStyle: GenerateStyle<MenuToken> = token => {
flex: 'none',
},
},
[`${componentCls}-item,${componentCls}-submenu,`]: {
borderRadius: token.radiusItem,
},
[`${componentCls}-item-group-title`]: {
padding: `${paddingXS}px ${padding}px`,
@ -393,23 +397,7 @@ export default (prefixCls: string, injectStyle: boolean): UseComponentStyleResul
return [];
}
const {
colorPrimary,
colorError,
colorTextDisabled,
colorErrorHover,
colorErrorBg,
colorText,
colorTextLightSolid,
colorTextSecondary,
colorBgContainer,
colorFillAlter,
controlHeightLG,
fontSize,
controlItemBgActive,
lineWidth,
lineWidthBold,
} = token;
const { controlHeightLG, fontSize } = token;
const menuArrowSize = (fontSize / 7) * 5;
@ -423,80 +411,73 @@ export default (prefixCls: string, injectStyle: boolean): UseComponentStyleResul
menuPanelMaskInset: -7, // Still a hardcode here since it's offset by rc-align
});
// Theme Token
const menuLightToken = mergeToken<MenuThemeToken>(menuToken, {
themeColorText: colorText,
themeColorTextHover: colorPrimary,
themeColorTextSecondary: colorTextSecondary,
themeColorTextSelect: colorPrimary,
themeColorBg: colorBgContainer,
themeColorBgSecondary: colorFillAlter,
themeColorBgActive: controlItemBgActive,
themeColorBgSelect: controlItemBgActive,
themeInkBarWidth: lineWidthBold + lineWidth,
themeInkBarHeight: lineWidthBold,
themeInkBorderSize: lineWidth,
// Disabled
themeColorDisabledText: colorTextDisabled,
// Danger
themeColorDangerText: colorError,
themeColorDangerTextHover: colorError,
themeColorDangerTextSelect: colorError,
themeColorDangerBgActive: colorErrorBg,
themeColorDangerBgSelect: colorErrorBg,
});
const menuDarkToken = mergeToken<MenuThemeToken>(menuToken, {
themeColorText: new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString(),
themeColorTextHover: colorTextLightSolid,
themeColorTextSecondary: colorTextSecondary,
themeColorTextSelect: colorTextLightSolid,
themeColorBg: '#001529',
themeColorBgSecondary: '#000c17',
themeColorBgActive: 'transparent',
themeColorBgSelect: colorPrimary,
themeInkBarWidth: 0,
themeInkBarHeight: 0,
themeInkBorderSize: 0,
// Disabled
themeColorDisabledText: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),
// Danger
themeColorDangerText: colorError,
themeColorDangerTextHover: colorErrorHover,
themeColorDangerTextSelect: colorTextLightSolid,
themeColorDangerBgActive: colorError,
themeColorDangerBgSelect: colorError,
});
return [
// Basic
getBaseStyle(menuToken),
// Horizontal
getHorizontalStyle(menuLightToken), // Hard code for some light style
getHorizontalStyle(menuToken), // Hard code for some light style
// Vertical
getVerticalStyle(menuLightToken), // Hard code for some light style
getVerticalStyle(menuToken), // Hard code for some light style
// Theme
getThemeStyle(menuLightToken, 'light'),
getThemeStyle(menuDarkToken, 'dark'),
getThemeStyle(menuToken),
// RTL
getRTLStyle(menuToken),
// Motion
genCollapseMotion(menuToken),
initSlideMotion(menuToken, 'slide-up'),
initSlideMotion(menuToken, 'slide-down'),
initZoomMotion(menuToken, 'zoom-big'),
];
},
token => ({
dropdownWidth: 160,
zIndexPopup: token.zIndexPopupBase + 50,
}),
token => {
const {
colorPrimary,
colorError,
colorTextDisabled,
colorErrorBg,
colorText,
colorTextSecondary,
colorBgContainer,
colorFillAlter,
controlItemBgActive,
lineWidth,
lineWidthBold,
} = token;
return {
dropdownWidth: 160,
zIndexPopup: token.zIndexPopupBase + 50,
radiusItem: 0,
colorItemText: colorText,
colorItemTextHover: colorPrimary,
colorGroupTitle: colorTextSecondary,
colorItemTextSelected: colorPrimary,
colorItemBg: colorBgContainer,
colorSubItemBg: colorFillAlter,
colorItemBgActive: controlItemBgActive,
colorItemBgSelected: controlItemBgActive,
colorItemBgSelectedHorizontal: 'transparent',
colorActiveBarWidth: lineWidthBold + lineWidth,
colorActiveBarHeight: lineWidthBold,
colorActiveBarBorderSize: lineWidth,
// Disabled
colorItemTextDisabled: colorTextDisabled,
// Danger
colorDangerItemText: colorError,
colorDangerItemTextHover: colorError,
colorDangerItemTextSelected: colorError,
colorDangerItemBgActive: colorErrorBg,
colorDangerItemBgSelected: colorErrorBg,
};
},
);
return useOriginHook(prefixCls);

View File

@ -1,5 +1,5 @@
import type { CSSInterpolation } from '@ant-design/cssinjs';
import type { MenuThemeToken, MenuToken } from '.';
import type { MenuToken } from '.';
const accessibilityFocus = (token: MenuToken) => {
const { controlOutlineWidth, colorPrimaryHover } = token;
@ -9,43 +9,44 @@ const accessibilityFocus = (token: MenuToken) => {
};
};
const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpolation => {
const getThemeStyle = (token: MenuToken): CSSInterpolation => {
const {
componentCls,
themeColorText,
themeColorTextSelect,
themeColorTextSecondary,
themeColorBg,
themeColorBgSecondary,
themeColorBgActive,
themeColorBgSelect,
themeInkBarHeight,
themeInkBarWidth,
themeInkBorderSize,
colorItemText,
colorItemTextSelected,
colorGroupTitle,
colorItemBg,
colorSubItemBg,
colorItemBgActive,
colorItemBgSelectedHorizontal,
colorItemBgSelected,
colorActiveBarHeight,
colorActiveBarWidth,
colorActiveBarBorderSize,
motionDurationSlow,
motionEaseInOut,
motionEaseOut,
menuItemPaddingInline,
motionDurationFast,
themeColorTextHover,
colorItemTextHover,
lineType,
colorBorderSecondary,
// Disabled
themeColorDisabledText,
colorItemTextDisabled,
// Danger
themeColorDangerText,
themeColorDangerTextHover,
themeColorDangerTextSelect,
themeColorDangerBgActive,
themeColorDangerBgSelect,
colorDangerItemText,
colorDangerItemTextHover,
colorDangerItemTextSelected,
colorDangerItemBgActive,
colorDangerItemBgSelected,
} = token;
return {
[`${componentCls}-${themeSuffix}`]: {
color: themeColorText,
background: themeColorBg,
[componentCls]: {
color: colorItemText,
background: colorItemBg,
[`&${componentCls}-root:focus-visible`]: {
...accessibilityFocus(token),
@ -53,44 +54,44 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
// ======================== Item ========================
[`${componentCls}-item-group-title`]: {
color: themeColorTextSecondary,
color: colorGroupTitle,
},
[`${componentCls}-submenu-selected`]: {
[`> ${componentCls}-submenu-title`]: {
color: themeColorTextSelect,
color: colorItemTextSelected,
},
},
// Disabled
[`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {
color: `${themeColorDisabledText} !important`,
color: `${colorItemTextDisabled} !important`,
},
// Hover
[`${componentCls}-item:hover, ${componentCls}-submenu-title:hover`]: {
[`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {
color: themeColorTextHover,
color: colorItemTextHover,
},
},
// Active
[`${componentCls}-item:active, ${componentCls}-submenu-title:active`]: {
background: themeColorBgActive,
background: colorItemBgActive,
},
// Danger - only Item has
[`${componentCls}-item-danger`]: {
color: themeColorDangerText,
color: colorDangerItemText,
[`&${componentCls}-item:hover`]: {
[`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {
color: themeColorDangerTextHover,
color: colorDangerItemTextHover,
},
},
[`&${componentCls}-item:active`]: {
background: themeColorDangerBgActive,
background: colorDangerItemBgActive,
},
},
@ -101,11 +102,11 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
},
[`${componentCls}-item-selected`]: {
color: themeColorTextSelect,
color: colorItemTextSelected,
// Danger
[`&${componentCls}-item-danger`]: {
color: themeColorDangerTextSelect,
color: colorDangerItemTextSelected,
},
[`a, a:hover`]: {
@ -114,11 +115,11 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
},
[`&:not(${componentCls}-horizontal) ${componentCls}-item-selected`]: {
backgroundColor: themeColorBgSelect,
backgroundColor: colorItemBgSelected,
// Danger
[`&${componentCls}-item-danger`]: {
backgroundColor: themeColorDangerBgSelect,
backgroundColor: colorDangerItemBgSelected,
},
},
@ -129,34 +130,43 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
},
[`&${componentCls}-submenu > ${componentCls}`]: {
backgroundColor: themeColorBg,
backgroundColor: colorItemBg,
},
[`&${componentCls}-popup > ${componentCls}`]: {
backgroundColor: themeColorBg,
backgroundColor: colorItemBg,
},
// ====================== Horizontal ======================
[`&${componentCls}-horizontal`]: {
[`> ${componentCls}-item, > ${componentCls}-submenu`]: {
top: themeInkBorderSize,
marginTop: -themeInkBorderSize,
top: colorActiveBarBorderSize,
marginTop: -colorActiveBarBorderSize,
marginBottom: 0,
borderRadius: token.radiusItem,
'&::after': {
position: 'absolute',
insetInline: menuItemPaddingInline,
bottom: 0,
borderBottom: `${themeInkBarHeight}px solid transparent`,
borderBottom: `${colorActiveBarHeight}px solid transparent`,
transition: `border-color ${motionDurationSlow} ${motionEaseInOut}`,
content: '""',
},
[`&:hover, &-active, &-open, &-selected`]: {
color: themeColorTextSelect,
[`&:hover, &-active, &-open`]: {
color: colorItemTextSelected,
'&::after': {
borderBottomColor: themeColorTextSelect,
borderWidth: `${colorActiveBarHeight}px`,
borderBottomColor: colorItemTextSelected,
},
},
[`&-selected`]: {
color: colorItemTextSelected,
backgroundColor: colorItemBgSelectedHorizontal,
'&::after': {
borderWidth: `${colorActiveBarHeight}px`,
borderBottomColor: colorItemTextSelected,
},
},
},
@ -166,7 +176,7 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
//
[`&${componentCls}-root`]: {
[`&${componentCls}-inline, &${componentCls}-vertical`]: {
borderInlineEnd: `${themeInkBorderSize}px ${lineType} ${colorBorderSecondary}`,
borderInlineEnd: `${colorActiveBarBorderSize}px ${lineType} ${colorBorderSecondary}`,
},
},
@ -174,13 +184,13 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
[`&${componentCls}-inline`]: {
// Sub
[`${componentCls}-sub${componentCls}-inline`]: {
background: themeColorBgSecondary,
background: colorSubItemBg,
},
// Item
[`${componentCls}-item, ${componentCls}-submenu-title`]: themeInkBorderSize
[`${componentCls}-item, ${componentCls}-submenu-title`]: colorActiveBarBorderSize
? {
width: `calc(100% + ${themeInkBorderSize}px)`,
width: `calc(100% + ${colorActiveBarBorderSize}px)`,
}
: {},
@ -191,7 +201,7 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
position: 'absolute',
insetBlock: 0,
insetInlineEnd: 0,
borderInlineEnd: `${themeInkBarWidth}px solid ${themeColorTextSelect}`,
borderInlineEnd: `${colorActiveBarWidth}px solid ${colorItemTextSelected}`,
transform: 'scaleY(0.0001)',
opacity: 0,
transition: [
@ -204,7 +214,7 @@ const getThemeStyle = (token: MenuThemeToken, themeSuffix: string): CSSInterpola
// Danger
[`&${componentCls}-item-danger`]: {
'&::after': {
borderInlineEndColor: themeColorDangerTextSelect,
borderInlineEndColor: colorDangerItemTextSelected,
},
},
},

View File

@ -1,8 +1,8 @@
import type { CSSObject } from '@ant-design/cssinjs';
import type { MenuThemeToken } from '.';
import type { MenuToken } from '.';
import type { GenerateStyle } from '../../theme';
const getVerticalInlineStyle: GenerateStyle<MenuThemeToken, CSSObject> = token => {
const getVerticalInlineStyle: GenerateStyle<MenuToken, CSSObject> = token => {
const { componentCls, menuItemHeight, marginXS, padding, marginXXS, menuArrowSize, fontSize } =
token;
@ -44,7 +44,7 @@ const getVerticalInlineStyle: GenerateStyle<MenuThemeToken, CSSObject> = token =
};
};
const getVerticalStyle: GenerateStyle<MenuThemeToken> = token => {
const getVerticalStyle: GenerateStyle<MenuToken> = token => {
const {
componentCls,
iconCls,

View File

@ -557,7 +557,7 @@ exports[`Table.filter renders menu correctly 1`] = `
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -699,7 +699,7 @@ exports[`Table.filter renders radio filter correctly 1`] = `
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -982,7 +982,7 @@ exports[`Table.rowSelection render with default selection correctly 1`] = `
style="opacity: 0;"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1119,7 +1119,7 @@ exports[`Table.rowSelection should support getPopupContainer 1`] = `
style="opacity: 0;"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1475,7 +1475,7 @@ exports[`Table.rowSelection should support getPopupContainer from ConfigProvider
style="opacity: 0;"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -163,7 +163,7 @@ exports[`renders ./components/table/demo/ajax.md extend context correctly 1`] =
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3393,7 +3393,7 @@ Array [
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7682,7 +7682,7 @@ exports[`renders ./components/table/demo/filter-in-tree.md extend context correc
</span>
</div>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -8502,7 +8502,7 @@ exports[`renders ./components/table/demo/filter-search.md extend context correct
</span>
</div>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -12005,7 +12005,7 @@ exports[`renders ./components/table/demo/grouping-columns.md extend context corr
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -13419,7 +13419,7 @@ exports[`renders ./components/table/demo/head.md extend context correctly 1`] =
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -13566,7 +13566,7 @@ exports[`renders ./components/table/demo/head.md extend context correctly 1`] =
</div>
<div>
<div
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-dropdown-menu-light ant-table-filter-dropdown-submenu"
class="ant-dropdown-menu-submenu ant-dropdown-menu-submenu-popup ant-dropdown-menu ant-table-filter-dropdown-submenu"
style="opacity:0"
>
<ul
@ -13927,7 +13927,7 @@ exports[`renders ./components/table/demo/head.md extend context correctly 1`] =
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -16472,7 +16472,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -16690,7 +16690,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -16908,7 +16908,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17513,7 +17513,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17731,7 +17731,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -17949,7 +17949,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -18554,7 +18554,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -18772,7 +18772,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -18990,7 +18990,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -20452,7 +20452,7 @@ Array [
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -20841,7 +20841,7 @@ Array [
class="ant-table-filter-dropdown"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light ant-dropdown-menu-without-submenu"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-without-submenu"
data-menu-list="true"
role="menu"
tabindex="0"
@ -22778,7 +22778,7 @@ exports[`renders ./components/table/demo/row-selection-custom.md extend context
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"

View File

@ -3,6 +3,7 @@ import classNames from 'classnames';
import isEqual from 'lodash/isEqual';
import type { FieldDataNode } from 'rc-tree';
import * as React from 'react';
import type { MenuProps } from '../../../menu';
import type { FilterState } from '.';
import { flattenKeys } from '.';
import Button from '../../../button';
@ -11,7 +12,6 @@ import Checkbox from '../../../checkbox';
import { ConfigContext } from '../../../config-provider/context';
import Dropdown from '../../../dropdown';
import Empty from '../../../empty';
import type { MenuProps } from '../../../menu';
import Menu from '../../../menu';
import { OverrideProvider } from '../../../menu/OverrideContext';
import Radio from '../../../radio';

View File

@ -51,7 +51,7 @@ exports[`renders ./components/transfer/demo/advanced.md extend context correctly
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -423,7 +423,7 @@ exports[`renders ./components/transfer/demo/advanced.md extend context correctly
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -741,7 +741,7 @@ exports[`renders ./components/transfer/demo/basic.md extend context correctly 1`
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1259,7 +1259,7 @@ exports[`renders ./components/transfer/demo/basic.md extend context correctly 1`
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1681,7 +1681,7 @@ exports[`renders ./components/transfer/demo/custom-item.md extend context correc
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -1968,7 +1968,7 @@ exports[`renders ./components/transfer/demo/custom-item.md extend context correc
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2207,7 +2207,7 @@ exports[`renders ./components/transfer/demo/custom-select-all-labels.md extend c
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2623,7 +2623,7 @@ exports[`renders ./components/transfer/demo/custom-select-all-labels.md extend c
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -2878,7 +2878,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3204,7 +3204,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -3517,7 +3517,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4077,7 +4077,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4456,7 +4456,7 @@ exports[`renders ./components/transfer/demo/search.md extend context correctly 1
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -4808,7 +4808,7 @@ exports[`renders ./components/transfer/demo/search.md extend context correctly 1
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5120,7 +5120,7 @@ exports[`renders ./components/transfer/demo/status.md extend context correctly 1
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5406,7 +5406,7 @@ exports[`renders ./components/transfer/demo/status.md extend context correctly 1
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5646,7 +5646,7 @@ exports[`renders ./components/transfer/demo/status.md extend context correctly 1
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -5998,7 +5998,7 @@ exports[`renders ./components/transfer/demo/status.md extend context correctly 1
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -6306,7 +6306,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"
@ -7152,7 +7152,7 @@ Array [
style="opacity:0"
>
<ul
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical ant-dropdown-menu-light"
class="ant-dropdown-menu ant-dropdown-menu-root ant-dropdown-menu-vertical"
data-menu-list="true"
role="menu"
tabindex="0"