@box/blueprint-web 12.100.0 → 12.100.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib-esm/index.css +36 -30
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-checkbox-item.js +1 -5
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-item.js +0 -2
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-radio-select-item.js +1 -5
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-sub-menu-root.js +3 -10
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-sub-menu-trigger.js +3 -17
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu.module.js +1 -1
- package/package.json +3 -3
package/dist/lib-esm/index.css
CHANGED
|
@@ -1829,7 +1829,7 @@
|
|
|
1829
1829
|
.bp_base_badge_module_numericBadgeMoreDigits--e8606{
|
|
1830
1830
|
padding:1px 3px;
|
|
1831
1831
|
}
|
|
1832
|
-
.bp_dropdown_menu_module_content--
|
|
1832
|
+
.bp_dropdown_menu_module_content--fc1b6[data-modern=false]{
|
|
1833
1833
|
--dropdown-menu-radius:var(--radius-3);
|
|
1834
1834
|
--dropdown-menu-padding:var(--space-3);
|
|
1835
1835
|
--dropdown-menu-text-color:var(--text-text-on-light);
|
|
@@ -1841,6 +1841,7 @@
|
|
|
1841
1841
|
--dropdown-menu-item-background-focus:var(--surface-menu-surface-hover);
|
|
1842
1842
|
--dropdown-menu-item-border-focus:var(--border-2) solid var(--outline-focus-on-light);
|
|
1843
1843
|
--dropdown-menu-item-border-active:var(--border-2) solid #0000;
|
|
1844
|
+
--dropdown-menu-item-border-hover:var(--border-2) solid #0000;
|
|
1844
1845
|
--dropdown-menu-item-background-active:var(--surface-menu-surface-hover);
|
|
1845
1846
|
--dropdown-menu-item-background-selected:var(--surface-menu-surface-hover);
|
|
1846
1847
|
--dropdown-menu-item-padding:var(--space-2);
|
|
@@ -1870,7 +1871,7 @@
|
|
|
1870
1871
|
text-transform:var(--body-default-text-case);
|
|
1871
1872
|
}
|
|
1872
1873
|
|
|
1873
|
-
.bp_dropdown_menu_module_content--
|
|
1874
|
+
.bp_dropdown_menu_module_content--fc1b6[data-modern=true]{
|
|
1874
1875
|
--dropdown-menu-radius:var(--bp-radius-10);
|
|
1875
1876
|
--dropdown-menu-padding:var(--bp-space-030);
|
|
1876
1877
|
--dropdown-menu-text-color:var(--bp-text-text-on-light);
|
|
@@ -1882,6 +1883,7 @@
|
|
|
1882
1883
|
--dropdown-menu-item-background-focus:var(--bp-surface-menu-item-surface-hover);
|
|
1883
1884
|
--dropdown-menu-item-border-focus:var(--bp-border-02) solid var(--bp-outline-focus-on-light);
|
|
1884
1885
|
--dropdown-menu-item-border-active:var(--bp-border-02) solid #0000;
|
|
1886
|
+
--dropdown-menu-item-border-hover:var(--bp-border-02) solid #0000;
|
|
1885
1887
|
--dropdown-menu-item-background-active:var(--bp-surface-menu-item-surface-hover);
|
|
1886
1888
|
--dropdown-menu-item-background-selected:var(--bp-surface-menu-item-surface-hover);
|
|
1887
1889
|
--dropdown-menu-item-padding:var(--bp-space-020);
|
|
@@ -1909,7 +1911,7 @@
|
|
|
1909
1911
|
line-height:var(--bp-font-line-height-04);
|
|
1910
1912
|
}
|
|
1911
1913
|
|
|
1912
|
-
.bp_dropdown_menu_module_content--
|
|
1914
|
+
.bp_dropdown_menu_module_content--fc1b6{
|
|
1913
1915
|
backdrop-filter:var(--dropdown-menu-backdrop-filter);
|
|
1914
1916
|
background-color:var(--dropdown-menu-background);
|
|
1915
1917
|
border:var(--dropdown-menu-border);
|
|
@@ -1924,7 +1926,7 @@
|
|
|
1924
1926
|
padding:var(--dropdown-menu-padding);
|
|
1925
1927
|
z-index:2147483647;
|
|
1926
1928
|
}
|
|
1927
|
-
.bp_dropdown_menu_module_content--
|
|
1929
|
+
.bp_dropdown_menu_module_content--fc1b6[data-menu-fullscreen=true]{
|
|
1928
1930
|
border:unset;
|
|
1929
1931
|
border-radius:unset;
|
|
1930
1932
|
display:flex;
|
|
@@ -1937,27 +1939,27 @@
|
|
|
1937
1939
|
position:relative;
|
|
1938
1940
|
width:100vw;
|
|
1939
1941
|
}
|
|
1940
|
-
.bp_dropdown_menu_module_content--
|
|
1942
|
+
.bp_dropdown_menu_module_content--fc1b6[data-menu-fullscreen=true] .bp_dropdown_menu_module_fullScreenContent--fc1b6{
|
|
1941
1943
|
overflow-y:auto;
|
|
1942
1944
|
padding:var(--dropdown-menu-full-screen-padding);
|
|
1943
1945
|
}
|
|
1944
|
-
.bp_dropdown_menu_module_content--
|
|
1946
|
+
.bp_dropdown_menu_module_content--fc1b6 .bp_dropdown_menu_module_subheader--fc1b6{
|
|
1945
1947
|
padding:var(--dropdown-menu-subheader-padding);
|
|
1946
1948
|
}
|
|
1947
|
-
.bp_dropdown_menu_module_content--
|
|
1949
|
+
.bp_dropdown_menu_module_content--fc1b6 .bp_dropdown_menu_module_subheader--fc1b6.bp_dropdown_menu_module_uppercased--fc1b6{
|
|
1948
1950
|
text-transform:uppercase;
|
|
1949
1951
|
}
|
|
1950
|
-
.bp_dropdown_menu_module_content--
|
|
1952
|
+
.bp_dropdown_menu_module_content--fc1b6 .bp_dropdown_menu_module_dropdownMenuItemSeparator--fc1b6{
|
|
1951
1953
|
margin-block:var(--dropdown-menu-separator-margin);
|
|
1952
1954
|
}
|
|
1953
1955
|
|
|
1954
|
-
.bp_dropdown_menu_module_ellipsis--
|
|
1956
|
+
.bp_dropdown_menu_module_ellipsis--fc1b6{
|
|
1955
1957
|
overflow:hidden;
|
|
1956
1958
|
text-overflow:ellipsis;
|
|
1957
1959
|
white-space:nowrap;
|
|
1958
1960
|
}
|
|
1959
1961
|
|
|
1960
|
-
.bp_dropdown_menu_module_checkmark--
|
|
1962
|
+
.bp_dropdown_menu_module_checkmark--fc1b6{
|
|
1961
1963
|
align-items:center;
|
|
1962
1964
|
display:inline-flex;
|
|
1963
1965
|
justify-content:center;
|
|
@@ -1965,7 +1967,7 @@
|
|
|
1965
1967
|
position:absolute;
|
|
1966
1968
|
}
|
|
1967
1969
|
|
|
1968
|
-
.bp_dropdown_menu_module_item--
|
|
1970
|
+
.bp_dropdown_menu_module_item--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6{
|
|
1969
1971
|
align-items:center;
|
|
1970
1972
|
border:var(--dropdown-menu-item-border);
|
|
1971
1973
|
border-radius:var(--dropdown-menu-item-radius);
|
|
@@ -1978,61 +1980,65 @@
|
|
|
1978
1980
|
-webkit-user-select:none;
|
|
1979
1981
|
user-select:none;
|
|
1980
1982
|
}
|
|
1981
|
-
.bp_dropdown_menu_module_item--
|
|
1983
|
+
.bp_dropdown_menu_module_item--fc1b6[data-disabled],.bp_dropdown_menu_module_subMenuTrigger--fc1b6[data-disabled]{
|
|
1982
1984
|
opacity:60%;
|
|
1983
1985
|
pointer-events:none;
|
|
1984
1986
|
}
|
|
1985
|
-
.bp_dropdown_menu_module_item--
|
|
1987
|
+
.bp_dropdown_menu_module_item--fc1b6[data-highlighted],.bp_dropdown_menu_module_subMenuTrigger--fc1b6[data-highlighted]{
|
|
1986
1988
|
background-color:var(--dropdown-menu-item-background-focus);
|
|
1987
1989
|
border:var(--dropdown-menu-item-border-focus);
|
|
1988
1990
|
}
|
|
1989
|
-
.bp_dropdown_menu_module_item--
|
|
1991
|
+
.bp_dropdown_menu_module_item--fc1b6[data-state=open][data-highlighted],.bp_dropdown_menu_module_subMenuTrigger--fc1b6[data-state=open][data-highlighted]{
|
|
1992
|
+
border:var(--dropdown-menu-item-border);
|
|
1993
|
+
}
|
|
1994
|
+
.bp_dropdown_menu_module_item--fc1b6:active,.bp_dropdown_menu_module_subMenuTrigger--fc1b6:active{
|
|
1990
1995
|
background-color:var(--dropdown-menu-item-background-active);
|
|
1991
1996
|
border:var(--dropdown-menu-item-border-active);
|
|
1992
1997
|
}
|
|
1993
|
-
.bp_dropdown_menu_module_item--
|
|
1998
|
+
.bp_dropdown_menu_module_item--fc1b6[data-state=open],.bp_dropdown_menu_module_subMenuTrigger--fc1b6[data-state=open]{
|
|
1994
1999
|
background-color:var(--dropdown-menu-item-background-selected);
|
|
1995
2000
|
}
|
|
1996
|
-
.bp_dropdown_menu_module_item--
|
|
2001
|
+
.bp_dropdown_menu_module_item--fc1b6:hover,.bp_dropdown_menu_module_subMenuTrigger--fc1b6:hover{
|
|
1997
2002
|
background-color:var(--dropdown-menu-item-background-hover);
|
|
2003
|
+
border:var(--dropdown-menu-item-border-hover);
|
|
1998
2004
|
}
|
|
1999
|
-
.bp_dropdown_menu_module_item--
|
|
2005
|
+
.bp_dropdown_menu_module_item--fc1b6.bp_dropdown_menu_module_radioItem--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6.bp_dropdown_menu_module_radioItem--fc1b6{
|
|
2000
2006
|
padding:.4375rem .5rem .4375rem calc(var(--space-2) + var(--space-4) + var(--space-4));
|
|
2001
2007
|
}
|
|
2002
|
-
.bp_dropdown_menu_module_item--
|
|
2008
|
+
.bp_dropdown_menu_module_item--fc1b6.bp_dropdown_menu_module_radioItem--fc1b6 .bp_dropdown_menu_module_radioItemMediumSpacing--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6.bp_dropdown_menu_module_radioItem--fc1b6 .bp_dropdown_menu_module_radioItemMediumSpacing--fc1b6{
|
|
2003
2009
|
padding-inline-start:var(--dropdown-menu-radio-item-medium-padding-start);
|
|
2004
2010
|
}
|
|
2005
|
-
.bp_dropdown_menu_module_item--
|
|
2011
|
+
.bp_dropdown_menu_module_item--fc1b6.bp_dropdown_menu_module_checkboxItem--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6.bp_dropdown_menu_module_checkboxItem--fc1b6{
|
|
2006
2012
|
padding:.4375rem .5rem .4375rem calc(var(--space-2) + var(--space-4) + var(--space-4));
|
|
2007
2013
|
}
|
|
2008
|
-
.bp_dropdown_menu_module_item--
|
|
2014
|
+
.bp_dropdown_menu_module_item--fc1b6.bp_dropdown_menu_module_checkboxItem--fc1b6 .bp_dropdown_menu_module_checkboxItemMediumSpacing--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6.bp_dropdown_menu_module_checkboxItem--fc1b6 .bp_dropdown_menu_module_checkboxItemMediumSpacing--fc1b6{
|
|
2009
2015
|
padding-inline-start:var(--dropdown-menu-checkbox-item-medium-padding-start);
|
|
2010
2016
|
}
|
|
2011
|
-
.bp_dropdown_menu_module_item--
|
|
2017
|
+
.bp_dropdown_menu_module_item--fc1b6 .bp_dropdown_menu_module_mediumItemLayout--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6 .bp_dropdown_menu_module_mediumItemLayout--fc1b6{
|
|
2012
2018
|
gap:var(--dropdown-menu-medium-item-layout-gap);
|
|
2013
2019
|
justify-content:space-between;
|
|
2014
2020
|
overflow:hidden;
|
|
2015
2021
|
}
|
|
2016
|
-
.bp_dropdown_menu_module_item--
|
|
2022
|
+
.bp_dropdown_menu_module_item--fc1b6 .bp_dropdown_menu_module_startElement--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6 .bp_dropdown_menu_module_startElement--fc1b6{
|
|
2017
2023
|
align-items:center;
|
|
2018
2024
|
display:flex;
|
|
2019
2025
|
}
|
|
2020
|
-
.bp_dropdown_menu_module_item--
|
|
2026
|
+
.bp_dropdown_menu_module_item--fc1b6 .bp_dropdown_menu_module_menuItemMainContent--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6 .bp_dropdown_menu_module_menuItemMainContent--fc1b6{
|
|
2021
2027
|
flex-grow:1;
|
|
2022
2028
|
}
|
|
2023
|
-
.bp_dropdown_menu_module_item--
|
|
2029
|
+
.bp_dropdown_menu_module_item--fc1b6 .bp_dropdown_menu_module_endElement--fc1b6,.bp_dropdown_menu_module_subMenuTrigger--fc1b6 .bp_dropdown_menu_module_endElement--fc1b6{
|
|
2024
2030
|
align-items:center;
|
|
2025
2031
|
color:var(--dropdown-menu-end-element-color);
|
|
2026
2032
|
display:flex;
|
|
2027
2033
|
}
|
|
2028
|
-
.bp_dropdown_menu_module_item--
|
|
2034
|
+
.bp_dropdown_menu_module_item--fc1b6:has(.bp_dropdown_menu_module_ellipsis--fc1b6){
|
|
2029
2035
|
border-radius:var(--dropdown-menu-item-radius);
|
|
2030
2036
|
}
|
|
2031
|
-
.bp_dropdown_menu_module_item--
|
|
2037
|
+
.bp_dropdown_menu_module_item--fc1b6:has(.bp_dropdown_menu_module_mediumItemLayout--fc1b6){
|
|
2032
2038
|
border-radius:var(--dropdown-menu-medium-item-radius);
|
|
2033
2039
|
}
|
|
2034
2040
|
|
|
2035
|
-
.bp_dropdown_menu_module_menuHeader--
|
|
2041
|
+
.bp_dropdown_menu_module_menuHeader--fc1b6{
|
|
2036
2042
|
align-items:center;
|
|
2037
2043
|
box-shadow:var(--dropdown-menu-header-shadow);
|
|
2038
2044
|
display:grid;
|
|
@@ -2042,15 +2048,15 @@
|
|
|
2042
2048
|
padding:var(--dropdown-menu-header-padding);
|
|
2043
2049
|
}
|
|
2044
2050
|
|
|
2045
|
-
.bp_dropdown_menu_module_headerTextContent--
|
|
2051
|
+
.bp_dropdown_menu_module_headerTextContent--fc1b6{
|
|
2046
2052
|
display:grid;
|
|
2047
2053
|
}
|
|
2048
2054
|
|
|
2049
|
-
.bp_dropdown_menu_module_submenuCloseButton--
|
|
2055
|
+
.bp_dropdown_menu_module_submenuCloseButton--fc1b6{
|
|
2050
2056
|
grid-area:submenu-close;
|
|
2051
2057
|
}
|
|
2052
2058
|
|
|
2053
|
-
.bp_dropdown_menu_module_menuCloseButton--
|
|
2059
|
+
.bp_dropdown_menu_module_menuCloseButton--fc1b6{
|
|
2054
2060
|
grid-area:close;
|
|
2055
2061
|
}
|
|
2056
2062
|
.bp_icon_button_module_iconButton--06ef3[data-modern=false]{
|
|
@@ -3,9 +3,8 @@ import { Checkmark } from '@box/blueprint-web-assets/icons/Fill';
|
|
|
3
3
|
import { bpIconIconOnLight, Gray100 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
4
4
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { forwardRef
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
7
|
import { useBlueprintModernization } from '../../blueprint-modernization-context/useBlueprintModernization.js';
|
|
8
|
-
import { composeEventHandlers } from '../../utils/composeEventHandlers.js';
|
|
9
8
|
import styles from './dropdown-menu.module.js';
|
|
10
9
|
import { useMenuItemVariant } from './menu-item-variant-context.js';
|
|
11
10
|
|
|
@@ -28,13 +27,10 @@ const DropdownMenuCheckboxItem = /*#__PURE__*/forwardRef((props, forwardedRef) =
|
|
|
28
27
|
const isSizeSmall = internalSize === 'small';
|
|
29
28
|
const checkmarkSize = isSizeSmall ? '1rem' : '2rem';
|
|
30
29
|
const checkmarkColor = enableModernizedComponents ? bpIconIconOnLight : Gray100;
|
|
31
|
-
const preventDefault = useCallback(event => event.preventDefault(), []);
|
|
32
30
|
return jsxs(DropdownMenuPrimitive.CheckboxItem, {
|
|
33
31
|
...rest,
|
|
34
32
|
ref: forwardedRef,
|
|
35
33
|
className: clsx(styles.item, styles.checkboxItem, className),
|
|
36
|
-
onPointerLeave: composeEventHandlers(props.onPointerLeave, preventDefault),
|
|
37
|
-
onPointerMove: composeEventHandlers(props.onPointerMove, preventDefault),
|
|
38
34
|
children: [jsx(DropdownMenuPrimitive.ItemIndicator, {
|
|
39
35
|
className: styles.checkmark,
|
|
40
36
|
children: jsx(Checkmark, {
|
|
@@ -27,8 +27,6 @@ const DropdownMenuItemBase = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
27
27
|
...rest,
|
|
28
28
|
ref: forwardedRef,
|
|
29
29
|
className: clsx(styles.item, sizeStyles, className),
|
|
30
|
-
onPointerLeave: composeEventHandlers(props.onPointerLeave, preventDefault),
|
|
31
|
-
onPointerMove: composeEventHandlers(props.onPointerMove, preventDefault),
|
|
32
30
|
// If click starts at trigger button, and ends on the item, it should not trigger the item.
|
|
33
31
|
// Note: this also has a side effect of not allowing to start click and end on a different time.
|
|
34
32
|
// TODO: see if possible to make https://github.com/radix-ui/primitives/blob/b32a93318cdfce383c2eec095710d35ffbd33a1c/packages/react/menu/src/Menu.tsx#L646
|
|
@@ -3,9 +3,8 @@ import { Checkmark } from '@box/blueprint-web-assets/icons/Fill';
|
|
|
3
3
|
import { bpIconIconOnLight, Gray100 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
4
4
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { forwardRef
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
7
|
import { useBlueprintModernization } from '../../blueprint-modernization-context/useBlueprintModernization.js';
|
|
8
|
-
import { composeEventHandlers } from '../../utils/composeEventHandlers.js';
|
|
9
8
|
import styles from './dropdown-menu.module.js';
|
|
10
9
|
import { useMenuItemVariant } from './menu-item-variant-context.js';
|
|
11
10
|
|
|
@@ -28,13 +27,10 @@ const DropdownMenuRadioSelectItem = /*#__PURE__*/forwardRef((props, forwardedRef
|
|
|
28
27
|
const isSizeSmall = internalSize === 'small';
|
|
29
28
|
const checkmarkSize = isSizeSmall ? '1rem' : '2rem';
|
|
30
29
|
const checkmarkColor = enableModernizedComponents ? bpIconIconOnLight : Gray100;
|
|
31
|
-
const preventDefault = useCallback(event => event.preventDefault(), []);
|
|
32
30
|
return jsxs(DropdownMenuPrimitive.RadioItem, {
|
|
33
31
|
...rest,
|
|
34
32
|
ref: forwardedRef,
|
|
35
33
|
className: clsx(styles.item, styles.radioItem),
|
|
36
|
-
onPointerLeave: composeEventHandlers(props.onPointerLeave, preventDefault),
|
|
37
|
-
onPointerMove: composeEventHandlers(props.onPointerMove, preventDefault),
|
|
38
34
|
value: value,
|
|
39
35
|
children: [jsx(DropdownMenuPrimitive.ItemIndicator, {
|
|
40
36
|
className: styles.checkmark,
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import 'lodash/noop';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
5
|
import { useControllableState } from '../../utils/useControllableState.js';
|
|
6
6
|
import { SubMenuMenuProvider } from '../menu-utils/responsiveness/SubMenuContext.js';
|
|
7
7
|
|
|
8
|
-
const ResponsiveSubmenuContext = /*#__PURE__*/createContext({
|
|
9
|
-
open: false,
|
|
10
|
-
setOpen: noop
|
|
11
|
-
});
|
|
12
|
-
const useResponsiveSubmenuContext = () => {
|
|
13
|
-
return useContext(ResponsiveSubmenuContext);
|
|
14
|
-
};
|
|
15
8
|
/**
|
|
16
9
|
* Based on Radix-UI Sub
|
|
17
10
|
* @see https://www.radix-ui.com/docs/primitives/components/dropdown-menu#sub
|
|
@@ -45,4 +38,4 @@ const DropdownMenuSubMenuRoot = props => {
|
|
|
45
38
|
};
|
|
46
39
|
DropdownMenuSubMenuRoot.displayName = 'DropdownMenuSubMenuRoot';
|
|
47
40
|
|
|
48
|
-
export { DropdownMenuSubMenuRoot
|
|
41
|
+
export { DropdownMenuSubMenuRoot };
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
3
|
-
import { forwardRef,
|
|
3
|
+
import { forwardRef, useCallback } from 'react';
|
|
4
4
|
import { MenuItemSideContent, MenuItemMainContent } from '../../util-components/menu-item-sections/menu-item-sections.js';
|
|
5
5
|
import { composeEventHandlers } from '../../utils/composeEventHandlers.js';
|
|
6
|
-
import { useForkRef } from '../../utils/useForkRef.js';
|
|
7
|
-
import { useSubMenuFocus } from '../../utils/useSubMenuFocus.hook.js';
|
|
8
6
|
import { useFullScreenDropdownMenu } from '../menu-utils/responsiveness/FullScreenDropdownMenuContext.js';
|
|
9
|
-
import { useResponsiveSubmenuContext } from './dropdown-menu-sub-menu-root.js';
|
|
10
7
|
import styles from './dropdown-menu.module.js';
|
|
11
8
|
|
|
12
9
|
const DropdownMenuSubMenuTriggerRoot = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
@@ -14,28 +11,17 @@ const DropdownMenuSubMenuTriggerRoot = /*#__PURE__*/forwardRef((props, forwarded
|
|
|
14
11
|
children,
|
|
15
12
|
...rest
|
|
16
13
|
} = props;
|
|
17
|
-
const [localRef, setRefFocusNoop] = useSubMenuFocus();
|
|
18
|
-
const {
|
|
19
|
-
open
|
|
20
|
-
} = useResponsiveSubmenuContext();
|
|
21
14
|
const {
|
|
22
15
|
isMenuFullScreenEnabled
|
|
23
16
|
} = useFullScreenDropdownMenu();
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
if (!open) {
|
|
26
|
-
localRef.current?.focus();
|
|
27
|
-
}
|
|
28
|
-
}, [localRef, open]);
|
|
29
17
|
const handleOnPointerMove = useCallback(e => {
|
|
30
|
-
setRefFocusNoop();
|
|
31
|
-
// we should call prevent default so hover doesn't trigger submenu, which is confusing on full screen.
|
|
32
18
|
if (isMenuFullScreenEnabled) {
|
|
33
19
|
e.preventDefault();
|
|
34
20
|
}
|
|
35
|
-
}, [isMenuFullScreenEnabled
|
|
21
|
+
}, [isMenuFullScreenEnabled]);
|
|
36
22
|
return jsx(DropdownMenuPrimitive.SubTrigger, {
|
|
37
23
|
...rest,
|
|
38
|
-
ref:
|
|
24
|
+
ref: forwardedRef,
|
|
39
25
|
className: styles.item,
|
|
40
26
|
onPointerMove: composeEventHandlers(props.onPointerMove, handleOnPointerMove),
|
|
41
27
|
children: children
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../../index.css';
|
|
2
|
-
var styles = {"content":"bp_dropdown_menu_module_content--
|
|
2
|
+
var styles = {"content":"bp_dropdown_menu_module_content--fc1b6","fullScreenContent":"bp_dropdown_menu_module_fullScreenContent--fc1b6","subheader":"bp_dropdown_menu_module_subheader--fc1b6","uppercased":"bp_dropdown_menu_module_uppercased--fc1b6","dropdownMenuItemSeparator":"bp_dropdown_menu_module_dropdownMenuItemSeparator--fc1b6","ellipsis":"bp_dropdown_menu_module_ellipsis--fc1b6","checkmark":"bp_dropdown_menu_module_checkmark--fc1b6","item":"bp_dropdown_menu_module_item--fc1b6","subMenuTrigger":"bp_dropdown_menu_module_subMenuTrigger--fc1b6","radioItem":"bp_dropdown_menu_module_radioItem--fc1b6","radioItemMediumSpacing":"bp_dropdown_menu_module_radioItemMediumSpacing--fc1b6","checkboxItem":"bp_dropdown_menu_module_checkboxItem--fc1b6","checkboxItemMediumSpacing":"bp_dropdown_menu_module_checkboxItemMediumSpacing--fc1b6","mediumItemLayout":"bp_dropdown_menu_module_mediumItemLayout--fc1b6","startElement":"bp_dropdown_menu_module_startElement--fc1b6","menuItemMainContent":"bp_dropdown_menu_module_menuItemMainContent--fc1b6","endElement":"bp_dropdown_menu_module_endElement--fc1b6","menuHeader":"bp_dropdown_menu_module_menuHeader--fc1b6","headerTextContent":"bp_dropdown_menu_module_headerTextContent--fc1b6","submenuCloseButton":"bp_dropdown_menu_module_submenuCloseButton--fc1b6","menuCloseButton":"bp_dropdown_menu_module_menuCloseButton--fc1b6"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/blueprint-web",
|
|
3
|
-
"version": "12.100.
|
|
3
|
+
"version": "12.100.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@ariakit/react": "0.4.15",
|
|
49
49
|
"@ariakit/react-core": "0.4.15",
|
|
50
|
-
"@box/blueprint-web-assets": "^4.
|
|
50
|
+
"@box/blueprint-web-assets": "^4.83.0",
|
|
51
51
|
"@internationalized/date": "^3.7.0",
|
|
52
52
|
"@radix-ui/react-accordion": "1.1.2",
|
|
53
53
|
"@radix-ui/react-checkbox": "1.0.4",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"type-fest": "^3.2.0"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@box/storybook-utils": "^0.14.
|
|
80
|
+
"@box/storybook-utils": "^0.14.20",
|
|
81
81
|
"@types/react": "^18.0.0",
|
|
82
82
|
"@types/react-dom": "^18.0.0",
|
|
83
83
|
"react": "^18.3.0",
|