@sanity/ui 2.3.6-canary.3 → 2.3.6-canary.5

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/index.d.mts CHANGED
@@ -1423,6 +1423,7 @@ export declare interface MenuItemProps extends ResponsivePaddingProps, Responsiv
1423
1423
  * @public
1424
1424
  */
1425
1425
  export declare interface MenuProps extends ResponsivePaddingProps {
1426
+ 'aria-labelledby'?: string
1426
1427
  /**
1427
1428
  * @deprecated Use `shouldFocus="first"` instead.
1428
1429
  */
@@ -1432,6 +1433,7 @@ export declare interface MenuProps extends ResponsivePaddingProps {
1432
1433
  */
1433
1434
  focusLast?: boolean
1434
1435
  onClickOutside?: (event: MouseEvent) => void
1436
+ onBlurCapture?: (event: React.FocusEvent<HTMLButtonElement>) => void
1435
1437
  onEscape?: () => void
1436
1438
  onItemClick?: () => void
1437
1439
  onItemSelect?: (index: number) => void
package/dist/index.d.ts CHANGED
@@ -1423,6 +1423,7 @@ export declare interface MenuItemProps extends ResponsivePaddingProps, Responsiv
1423
1423
  * @public
1424
1424
  */
1425
1425
  export declare interface MenuProps extends ResponsivePaddingProps {
1426
+ 'aria-labelledby'?: string
1426
1427
  /**
1427
1428
  * @deprecated Use `shouldFocus="first"` instead.
1428
1429
  */
@@ -1432,6 +1433,7 @@ export declare interface MenuProps extends ResponsivePaddingProps {
1432
1433
  */
1433
1434
  focusLast?: boolean
1434
1435
  onClickOutside?: (event: MouseEvent) => void
1436
+ onBlurCapture?: (event: React.FocusEvent<HTMLButtonElement>) => void
1435
1437
  onEscape?: () => void
1436
1438
  onItemClick?: () => void
1437
1439
  onItemSelect?: (index: number) => void
package/dist/index.esm.js CHANGED
@@ -133,8 +133,8 @@ function createGlobalScopedContext(key2, defaultValue) {
133
133
  }
134
134
  const key$8 = Symbol.for("@sanity/ui/context/theme"), ThemeContext = createGlobalScopedContext(key$8, null);
135
135
  function ThemeProvider(props) {
136
- var _a;
137
- const { children } = props, parentTheme = useContext(ThemeContext), scheme = (_a = props.scheme) != null ? _a : (parentTheme == null ? void 0 : parentTheme.scheme) || "light", rootTheme = (parentTheme == null ? void 0 : parentTheme.theme) || null, tone = (parentTheme == null ? void 0 : parentTheme.tone) || "default", themeContext = useMemo(() => rootTheme ? {
136
+ var _a, _b, _c;
137
+ const { children } = props, parentTheme = useContext(ThemeContext), scheme = (_a = props.scheme) != null ? _a : (parentTheme == null ? void 0 : parentTheme.scheme) || "light", rootTheme = (_b = props.theme) != null ? _b : (parentTheme == null ? void 0 : parentTheme.theme) || null, tone = (_c = props.tone) != null ? _c : (parentTheme == null ? void 0 : parentTheme.tone) || "default", themeContext = useMemo(() => rootTheme ? {
138
138
  version: 0,
139
139
  theme: rootTheme,
140
140
  scheme,
@@ -5560,28 +5560,16 @@ const Root$5 = styled(Box)`
5560
5560
  setOpen(!1), !disableRestoreFocusOnClose && buttonElement && buttonElement.focus();
5561
5561
  }, [buttonElement, disableRestoreFocusOnClose]), registerElement = useCallback((el) => (setChildMenuElements((els) => els.concat([el])), () => {
5562
5562
  setChildMenuElements((els) => els.filter((_el) => _el !== el));
5563
- }), []), menuProps = useMemo(
5564
- () => ({
5565
- "aria-labelledby": id,
5566
- onBlurCapture: handleBlur,
5567
- onClickOutside: handleMenuClickOutside,
5568
- onEscape: handleMenuEscape,
5569
- onItemClick: handleItemClick,
5570
- originElement: buttonElement,
5571
- registerElement,
5572
- shouldFocus
5573
- }),
5574
- [
5575
- buttonElement,
5576
- handleMenuClickOutside,
5577
- handleMenuEscape,
5578
- handleItemClick,
5579
- id,
5580
- handleBlur,
5581
- registerElement,
5582
- shouldFocus
5583
- ]
5584
- ), menu = menuProp && cloneElement(menuProp, menuProps), ref = useRef(null), button = useMemo(
5563
+ }), []), menu = menuProp && cloneElement(menuProp, {
5564
+ "aria-labelledby": id,
5565
+ onBlurCapture: handleBlur,
5566
+ onClickOutside: handleMenuClickOutside,
5567
+ onEscape: handleMenuEscape,
5568
+ onItemClick: handleItemClick,
5569
+ originElement: buttonElement,
5570
+ registerElement,
5571
+ shouldFocus
5572
+ }), button = useMemo(
5585
5573
  () => {
5586
5574
  var _a;
5587
5575
  return buttonProp && cloneElement(buttonProp, {
@@ -5592,7 +5580,7 @@ const Root$5 = styled(Box)`
5592
5580
  onMouseDown: handleMouseDown,
5593
5581
  "aria-haspopup": !0,
5594
5582
  "aria-expanded": open,
5595
- ref,
5583
+ ref: setButtonElement,
5596
5584
  selected: (_a = buttonProp.props.selected) != null ? _a : open
5597
5585
  });
5598
5586
  },
@@ -5600,11 +5588,9 @@ const Root$5 = styled(Box)`
5600
5588
  );
5601
5589
  useImperativeHandle(
5602
5590
  forwardedRef,
5603
- () => ref.current
5604
- ), useEffect(() => {
5605
- if (button)
5606
- return setButtonElement(ref.current), () => setButtonElement(null);
5607
- }, [button]);
5591
+ () => buttonElement,
5592
+ [buttonElement]
5593
+ );
5608
5594
  const popoverProps = useMemo(
5609
5595
  () => ({
5610
5596
  boundaryElement: deprecated_boundaryElement,
@@ -5626,7 +5612,19 @@ const Root$5 = styled(Box)`
5626
5612
  popover
5627
5613
  ]
5628
5614
  );
5629
- return /* @__PURE__ */ jsx(Popover, { "data-ui": "MenuButton__popover", ...popoverProps, content: menu, open, children: button || /* @__PURE__ */ jsx(Fragment, {}) });
5615
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
5616
+ /* @__PURE__ */ jsx(
5617
+ Popover,
5618
+ {
5619
+ "data-ui": "MenuButton__popover",
5620
+ referenceElement: buttonElement,
5621
+ ...popoverProps,
5622
+ content: menu,
5623
+ open
5624
+ }
5625
+ ),
5626
+ button
5627
+ ] });
5630
5628
  }), MenuDivider = styled.hr`
5631
5629
  height: 1px;
5632
5630
  border: 0;