@sanity/ui 4.0.0-static.19 → 4.0.0-static.20

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/ui",
3
- "version": "4.0.0-static.19",
3
+ "version": "4.0.0-static.20",
4
4
  "keywords": [
5
5
  "react",
6
6
  "ui",
@@ -130,9 +130,9 @@
130
130
  "@babel/preset-typescript": "^7.27.1",
131
131
  "@commitlint/cli": "^19.8.1",
132
132
  "@commitlint/config-conventional": "^19.8.1",
133
- "@eslint/js": "^9.32.0",
133
+ "@eslint/js": "^9.33.0",
134
134
  "@sanity/browserslist-config": "^1.0.5",
135
- "@sanity/pkg-utils": "^7.11.5",
135
+ "@sanity/pkg-utils": "^7.11.7",
136
136
  "@sanity/prettier-config": "^2.0.1",
137
137
  "@sanity/semantic-release-preset": "^5.0.0",
138
138
  "@sanity/ui-workshop": "4.0.0-static.11",
@@ -156,7 +156,7 @@
156
156
  "cypress-real-events": "^1.14.0",
157
157
  "cz-conventional-changelog": "^3.3.0",
158
158
  "dotenv-flow": "^4.1.0",
159
- "eslint": "^9.32.0",
159
+ "eslint": "^9.33.0",
160
160
  "eslint-config-prettier": "^10.1.8",
161
161
  "eslint-formatter-compact": "^8.40.0",
162
162
  "eslint-plugin-boundaries": "^5.0.1",
@@ -19,7 +19,7 @@ export type MenuOwnProps = PaddingStyleProps & {
19
19
  'gap'?: ResponsiveProp<Space>
20
20
  'onClickOutside'?: (event: MouseEvent) => void
21
21
  'onEscape'?: () => void
22
- 'onItemClick'?: () => void
22
+ 'onItemClick'?: (event: React.MouseEvent<HTMLButtonElement>) => void
23
23
  'onItemSelect'?: (index: number) => void
24
24
  'originElement'?: HTMLElement | null
25
25
  'registerElement'?: (el: HTMLElement) => () => void
@@ -159,11 +159,16 @@ export function MenuButton(props: MenuButtonProps): React.JSX.Element {
159
159
  [menuElements],
160
160
  )
161
161
 
162
- const handleItemClick = useCallback(() => {
163
- setOpen(false)
164
- if (disableRestoreFocusOnClose) return
165
- if (buttonElement) buttonElement.focus()
166
- }, [buttonElement, disableRestoreFocusOnClose])
162
+ const handleItemClick = useCallback(
163
+ (e: ReactMouseEvent<HTMLButtonElement>) => {
164
+ if (e.defaultPrevented) return
165
+
166
+ setOpen(false)
167
+ if (disableRestoreFocusOnClose) return
168
+ if (buttonElement) buttonElement.focus()
169
+ },
170
+ [buttonElement, disableRestoreFocusOnClose],
171
+ )
167
172
 
168
173
  const registerElement = useCallback((el: HTMLElement) => {
169
174
  setChildMenuElements((els) => els.concat([el]))
@@ -9,7 +9,7 @@ export interface MenuContextValue {
9
9
  mount: (element: HTMLElement | null, selected?: boolean) => () => void
10
10
  onClickOutside?: (event: MouseEvent) => void
11
11
  onEscape?: () => void
12
- onItemClick?: () => void
12
+ onItemClick?: (event: ReactMouseEvent<HTMLButtonElement>) => void
13
13
  onItemMouseEnter?: (event: ReactMouseEvent<HTMLElement>) => void
14
14
  onItemMouseLeave?: (event: ReactMouseEvent<HTMLElement>) => void
15
15
  registerElement?: (el: HTMLElement) => () => void
@@ -127,10 +127,13 @@ export function MenuGroup<E extends MenuGroupElementType = typeof DEFAULT_MENU_G
127
127
  [onClick],
128
128
  )
129
129
 
130
- const handleChildItemClick = useCallback(() => {
131
- setOpen(false)
132
- onItemClick?.()
133
- }, [onItemClick])
130
+ const handleChildItemClick = useCallback(
131
+ (e: MouseEvent<HTMLButtonElement>) => {
132
+ setOpen(false)
133
+ onItemClick?.(e)
134
+ },
135
+ [onItemClick],
136
+ )
134
137
 
135
138
  const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])
136
139
 
@@ -104,7 +104,7 @@ export function MenuItem<E extends MenuItemElementType = typeof DEFAULT_MENU_ITE
104
104
  (event: MouseEvent<HTMLButtonElement>) => {
105
105
  if (disabled) return
106
106
  if (onClick) onClick(event)
107
- if (onItemClick) onItemClick()
107
+ if (onItemClick) onItemClick(event)
108
108
  },
109
109
  [disabled, onClick, onItemClick],
110
110
  )