@conveyorhq/arrow-ds 1.138.0 → 1.139.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@conveyorhq/arrow-ds",
3
3
  "author": "Conveyor",
4
4
  "license": "MIT",
5
- "version": "1.138.0",
5
+ "version": "1.139.0",
6
6
  "description": "Arrow Design System",
7
7
  "repository": "https://github.com/conveyor/arrow-ds",
8
8
  "publishConfig": {
@@ -4,6 +4,7 @@ export interface MenuItemProps {
4
4
  onClick?: (event: MouseEvent) => void;
5
5
  isSelected?: boolean;
6
6
  isHighlighted?: boolean;
7
+ disabled?: boolean;
7
8
  [key: string]: any;
8
9
  }
9
10
  export declare const MenuItem: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<MenuItemProps>>;
@@ -28,7 +28,7 @@ const classnames_1 = __importDefault(require("classnames"));
28
28
  const bem_1 = require("../../utilities/bem");
29
29
  const MenuRenderer_1 = require("../MenuRenderer");
30
30
  const cn = "Menu";
31
- exports.MenuItem = react_1.forwardRef(({ children, className, isSelected = false, isHighlighted = false, as: Component = "button", onClick, ...rest }, ref) => {
31
+ exports.MenuItem = react_1.forwardRef(({ children, className, isSelected = false, isHighlighted = false, disabled = false, as: Component = "button", onClick, ...rest }, ref) => {
32
32
  const { onClose, itemProps } = MenuRenderer_1.useMenuContext();
33
33
  const clickHandler = (event) => {
34
34
  if (typeof onClick === "function") {
@@ -42,6 +42,7 @@ exports.MenuItem = react_1.forwardRef(({ children, className, isSelected = false
42
42
  bem_1.bem(cn, { e: "item" }),
43
43
  isSelected && bem_1.bem(cn, { e: "item", m: "isSelected" }),
44
44
  isHighlighted && bem_1.bem(cn, { e: "item", m: "isHighlighted" }),
45
+ disabled && bem_1.bem(cn, { e: "item", m: "isDisabled" }),
45
46
  className,
46
- ]), onClick: clickHandler }, itemProps, rest), children));
47
+ ]), onClick: clickHandler, disabled: disabled }, itemProps, rest), children));
47
48
  });
@@ -30,6 +30,7 @@ export interface MenuProps extends BoxProps {
30
30
  isMenuOpen?: boolean;
31
31
  openMenu?: (open: boolean) => void;
32
32
  menuDisplay?: "inline-block" | "block";
33
+ disableFocusLock?: boolean;
33
34
  }
34
- export declare const MenuRenderer: ({ children, className, placement, position, trigger, popperModifiers, autoFocus, hasPortal, isOpen: isOpenInitial, isMenuOpen: isOpenControlled, onClose: onCloseProp, openMenu: setOpenControlled, menuDisplay, ...rest }: MenuProps) => JSX.Element;
35
+ export declare const MenuRenderer: ({ children, className, placement, position, trigger, popperModifiers, autoFocus, hasPortal, isOpen: isOpenInitial, isMenuOpen: isOpenControlled, onClose: onCloseProp, openMenu: setOpenControlled, menuDisplay, disableFocusLock, ...rest }: MenuProps) => JSX.Element;
35
36
  export {};
@@ -40,7 +40,7 @@ const TRANSITION_START = {
40
40
  opacity: 0,
41
41
  };
42
42
  const TRANSITION_END = { transform: "translateY(0)", opacity: 1 };
43
- const MenuRenderer = ({ children, className, placement = "bottom-start", position = "absolute", trigger, popperModifiers = [], autoFocus = false, hasPortal = false, isOpen: isOpenInitial = false, isMenuOpen: isOpenControlled, onClose: onCloseProp, openMenu: setOpenControlled, menuDisplay = "inline-block", ...rest }) => {
43
+ const MenuRenderer = ({ children, className, placement = "bottom-start", position = "absolute", trigger, popperModifiers = [], autoFocus = false, hasPortal = false, isOpen: isOpenInitial = false, isMenuOpen: isOpenControlled, onClose: onCloseProp, openMenu: setOpenControlled, menuDisplay = "inline-block", disableFocusLock = false, ...rest }) => {
44
44
  const [isOpenUncontrolled, setOpenUncontrolled] = react_1.useState(isOpenInitial);
45
45
  const open = isOpenControlled !== null && isOpenControlled !== void 0 ? isOpenControlled : isOpenUncontrolled;
46
46
  const setOpen = setOpenControlled !== null && setOpenControlled !== void 0 ? setOpenControlled : setOpenUncontrolled;
@@ -152,7 +152,7 @@ const MenuRenderer = ({ children, className, placement = "bottom-start", positio
152
152
  transitions.map(({ item, key, props: transitionProps }) => item && (react_1.default.createElement(PortalComponent, { key: key },
153
153
  react_1.default.createElement(context_1.MenuContext.Provider, { value: context },
154
154
  react_1.default.createElement(Box_1.Box, Object.assign({ className: hasPortal ? "z-toast" : "z-menu", ref: setPopperElement, style: { minWidth: `${minWidth}px`, ...styles.popper } }, attributes.popper),
155
- react_1.default.createElement(react_focus_lock_1.default, { autoFocus: autoFocus },
155
+ react_1.default.createElement(react_focus_lock_1.default, { autoFocus: autoFocus, disabled: disableFocusLock },
156
156
  react_1.default.createElement(react_spring_1.animated.div, { key: key, style: transitionProps, ref: menuListElement, className: menuDisplay }, typeof children === "function"
157
157
  ? children(renderProps)
158
158
  : children)))))))));
@@ -4768,6 +4768,11 @@ override built-in Image component classes */
4768
4768
  color: rgb(32 65 86 / var(--tw-text-opacity));
4769
4769
  }
4770
4770
 
4771
+ .ads-Menu-item--isDisabled {
4772
+ pointer-events: none;
4773
+ opacity: 0.5;
4774
+ }
4775
+
4771
4776
  .ads-Menu-item:first-of-type {
4772
4777
  border-top-left-radius: 2px;
4773
4778
  border-top-right-radius: 2px;