@jobber/components 8.21.1 → 8.23.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.
Files changed (93) hide show
  1. package/Dialog.d.ts +1 -0
  2. package/Dialog.js +17 -0
  3. package/dist/BottomSheet-cjs.js +34 -7
  4. package/dist/BottomSheet-es.js +34 -8
  5. package/dist/CSPContext-cjs.js +69 -0
  6. package/dist/CSPContext-es.js +46 -0
  7. package/dist/Card/index.cjs +3 -0
  8. package/dist/Card/index.mjs +3 -0
  9. package/dist/ComboboxChipRemove-cjs.js +54 -211
  10. package/dist/ComboboxChipRemove-es.js +8 -164
  11. package/dist/DataDump/index.cjs +3 -0
  12. package/dist/DataDump/index.mjs +3 -0
  13. package/dist/Dialog/Dialog.d.ts +3 -0
  14. package/dist/Dialog/Dialog.types.d.ts +205 -0
  15. package/dist/Dialog/DialogBottomSheet.d.ts +28 -0
  16. package/dist/Dialog/DialogModal.d.ts +20 -0
  17. package/dist/Dialog/constants.d.ts +1 -0
  18. package/dist/Dialog/dialogComposableShared.d.ts +53 -0
  19. package/dist/Dialog/dialogReturnFocus.d.ts +43 -0
  20. package/dist/Dialog/index.cjs +33 -0
  21. package/dist/Dialog/index.d.ts +4 -0
  22. package/dist/Dialog/index.mjs +25 -0
  23. package/dist/DrawerDescription-cjs.js +410 -0
  24. package/dist/DrawerDescription-es.js +383 -0
  25. package/dist/DrawerTitle-cjs.js +116 -0
  26. package/dist/DrawerTitle-es.js +92 -0
  27. package/dist/InputNumberExperimental-cjs.js +24 -23
  28. package/dist/InputNumberExperimental-es.js +3 -2
  29. package/dist/InternalBackdrop-es.js +3 -3
  30. package/dist/Menu/index.cjs +3 -0
  31. package/dist/Menu/index.mjs +3 -0
  32. package/dist/Menu-cjs.js +6 -4
  33. package/dist/Menu-es.js +6 -4
  34. package/dist/MenuSubmenuTrigger-cjs.js +53 -103
  35. package/dist/MenuSubmenuTrigger-es.js +55 -103
  36. package/dist/NumberFieldInput-cjs.js +9 -9
  37. package/dist/NumberFieldInput-es.js +3 -3
  38. package/dist/Page/index.cjs +3 -0
  39. package/dist/Page/index.mjs +3 -0
  40. package/dist/ScrollAreaViewport-cjs.js +921 -960
  41. package/dist/ScrollAreaViewport-es.js +917 -958
  42. package/dist/SelectGroupLabel-cjs.js +1924 -0
  43. package/dist/SelectGroupLabel-es.js +1888 -0
  44. package/dist/SelectPrimitive-cjs.js +112 -0
  45. package/dist/SelectPrimitive-es.js +110 -0
  46. package/dist/ToolbarRootContext-cjs.js +35 -0
  47. package/dist/ToolbarRootContext-es.js +14 -0
  48. package/dist/dialogReturnFocus-cjs.js +427 -0
  49. package/dist/dialogReturnFocus-es.js +423 -0
  50. package/dist/docs/SelectPrimitive/SelectPrimitive.md +326 -0
  51. package/dist/docs/index.md +1 -0
  52. package/dist/floating-ui.react-dom-cjs.js +1 -0
  53. package/dist/floating-ui.react-dom-es.js +2 -2
  54. package/dist/floating-ui.utils.dom-es.js +1 -1
  55. package/dist/index.cjs +15 -7
  56. package/dist/index.d.mts +1 -0
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.mjs +12 -7
  59. package/dist/primitives/BottomSheet/BottomSheet.d.ts +19 -1
  60. package/dist/primitives/BottomSheet/BottomSheet.types.d.ts +8 -0
  61. package/dist/primitives/BottomSheet/index.cjs +2 -0
  62. package/dist/primitives/BottomSheet/index.d.ts +1 -1
  63. package/dist/primitives/BottomSheet/index.mjs +2 -1
  64. package/dist/primitives/ComboboxPrimitive/index.cjs +3 -1
  65. package/dist/primitives/ComboboxPrimitive/index.mjs +3 -1
  66. package/dist/primitives/InputNumberExperimental/index.cjs +2 -1
  67. package/dist/primitives/InputNumberExperimental/index.mjs +2 -1
  68. package/dist/primitives/SelectPrimitive/SelectPrimitive.d.ts +63 -0
  69. package/dist/primitives/SelectPrimitive/index.cjs +29 -0
  70. package/dist/primitives/SelectPrimitive/index.d.ts +2 -0
  71. package/dist/primitives/SelectPrimitive/index.mjs +23 -0
  72. package/dist/primitives/SelectPrimitive/types.d.ts +16 -0
  73. package/dist/primitives/index.cjs +9 -1
  74. package/dist/primitives/index.d.ts +1 -0
  75. package/dist/primitives/index.mjs +8 -2
  76. package/dist/primitives/mergeClassName.d.ts +12 -0
  77. package/dist/resolveAriaLabelledBy-cjs.js +195 -0
  78. package/dist/resolveAriaLabelledBy-es.js +162 -0
  79. package/dist/styles.css +685 -0
  80. package/dist/unstyledPrimitives/index.cjs +434 -259
  81. package/dist/unstyledPrimitives/index.d.ts +2 -0
  82. package/dist/unstyledPrimitives/index.mjs +425 -252
  83. package/dist/useButton-cjs.js +2 -0
  84. package/dist/useButton-es.js +3 -2
  85. package/dist/useCompositeListItem-es.js +4 -4
  86. package/dist/useLabel-cjs.js +3 -329
  87. package/dist/useLabel-es.js +4 -299
  88. package/dist/useLabelableId-cjs.js +332 -0
  89. package/dist/useLabelableId-es.js +300 -0
  90. package/dist/useRenderElement-cjs.js +3 -0
  91. package/dist/useRenderElement-es.js +4 -1
  92. package/dist/utils/meta/meta.json +11 -1
  93. package/package.json +2 -2
@@ -8,9 +8,10 @@ var Button = require('./Button-cjs.js');
8
8
  var Icon = require('./Icon-cjs.js');
9
9
  var useRenderElement = require('./useRenderElement-cjs.js');
10
10
  var useButton = require('./useButton-cjs.js');
11
- var useLabel = require('./useLabel-cjs.js');
11
+ var useLabelableId = require('./useLabelableId-cjs.js');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
  var NumberFieldInput = require('./NumberFieldInput-cjs.js');
14
+ var useLabel = require('./useLabel-cjs.js');
14
15
 
15
16
  function _interopNamespaceDefault(e) {
16
17
  var n = Object.create(null);
@@ -54,7 +55,7 @@ const LabelableProvider = function LabelableProvider(props) {
54
55
  const registrationsRef = useRenderElement.useRefWithInit(() => new Map());
55
56
  const {
56
57
  messageIds: parentMessageIds
57
- } = useLabel.useLabelableContext();
58
+ } = useLabelableId.useLabelableContext();
58
59
  const registerControlId = useButton.useStableCallback((source, nextId) => {
59
60
  const registrations = registrationsRef.current;
60
61
  if (nextId === undefined) {
@@ -96,14 +97,14 @@ const LabelableProvider = function LabelableProvider(props) {
96
97
  setMessageIds,
97
98
  getDescriptionProps
98
99
  }), [controlId, registerControlId, labelId, setLabelId, messageIds, setMessageIds, getDescriptionProps]);
99
- return /*#__PURE__*/jsxRuntime.jsx(useLabel.LabelableContext.Provider, {
100
+ return /*#__PURE__*/jsxRuntime.jsx(useLabelableId.LabelableContext.Provider, {
100
101
  value: contextValue,
101
102
  children: props.children
102
103
  });
103
104
  };
104
105
  if (process.env.NODE_ENV !== "production") LabelableProvider.displayName = "LabelableProvider";
105
106
 
106
- const validityKeys = Object.keys(useLabel.DEFAULT_VALIDITY_STATE);
107
+ const validityKeys = Object.keys(useLabelableId.DEFAULT_VALIDITY_STATE);
107
108
  function isOnlyValueMissing(state) {
108
109
  if (!state || state.valid || !state.valueMissing) {
109
110
  return false;
@@ -126,7 +127,7 @@ function useFieldValidation(params) {
126
127
  const {
127
128
  formRef,
128
129
  clearErrors
129
- } = useLabel.useFormContext();
130
+ } = useLabelableId.useFormContext();
130
131
  const {
131
132
  setValidityData,
132
133
  validate,
@@ -141,7 +142,7 @@ function useFieldValidation(params) {
141
142
  const {
142
143
  controlId,
143
144
  getDescriptionProps
144
- } = useLabel.useLabelableContext();
145
+ } = useLabelableId.useLabelableContext();
145
146
  const timeout = useButton.useTimeout();
146
147
  const inputRef = React__namespace.useRef(null);
147
148
  const commit = useButton.useStableCallback(async (value, revalidate = false) => {
@@ -161,7 +162,7 @@ function useFieldValidation(params) {
161
162
  const nextValidityData = {
162
163
  value,
163
164
  state: {
164
- ...useLabel.DEFAULT_VALIDITY_STATE,
165
+ ...useLabelableId.DEFAULT_VALIDITY_STATE,
165
166
  valid: true
166
167
  },
167
168
  error: '',
@@ -174,7 +175,7 @@ function useFieldValidation(params) {
174
175
  if (currentFieldData) {
175
176
  formRef.current.fields.set(controlId, {
176
177
  ...currentFieldData,
177
- ...useLabel.getCombinedFieldValidityData(nextValidityData, false) // invalid = false
178
+ ...useLabelableId.getCombinedFieldValidityData(nextValidityData, false) // invalid = false
178
179
  });
179
180
  }
180
181
  }
@@ -286,7 +287,7 @@ function useFieldValidation(params) {
286
287
  formRef.current.fields.set(controlId, {
287
288
  ...currentFieldData,
288
289
  // Keep Form-level errors part of overall field validity for submit blocking/focus logic.
289
- ...useLabel.getCombinedFieldValidityData(nextValidityData, invalid)
290
+ ...useLabelableId.getCombinedFieldValidityData(nextValidityData, invalid)
290
291
  });
291
292
  }
292
293
  }
@@ -338,7 +339,7 @@ const FieldRootInner = /*#__PURE__*/React__namespace.forwardRef(function FieldRo
338
339
  errors,
339
340
  validationMode: formValidationMode,
340
341
  submitAttemptedRef
341
- } = useLabel.useFormContext();
342
+ } = useLabelableId.useFormContext();
342
343
  const {
343
344
  render,
344
345
  className,
@@ -384,7 +385,7 @@ const FieldRootInner = /*#__PURE__*/React__namespace.forwardRef(function FieldRo
384
385
  const hasFormError = !!name && Object.hasOwn(errors, name) && errors[name] !== undefined;
385
386
  const invalid = invalidProp === true || hasFormError;
386
387
  const [validityData, setValidityData] = React__namespace.useState({
387
- state: useLabel.DEFAULT_VALIDITY_STATE,
388
+ state: useLabelableId.DEFAULT_VALIDITY_STATE,
388
389
  error: '',
389
390
  errors: [],
390
391
  value: null,
@@ -443,9 +444,9 @@ const FieldRootInner = /*#__PURE__*/React__namespace.forwardRef(function FieldRo
443
444
  ref: forwardedRef,
444
445
  state,
445
446
  props: elementProps,
446
- stateAttributesMapping: useLabel.fieldValidityMapping
447
+ stateAttributesMapping: useLabelableId.fieldValidityMapping
447
448
  });
448
- return /*#__PURE__*/jsxRuntime.jsx(useLabel.FieldRootContext.Provider, {
449
+ return /*#__PURE__*/jsxRuntime.jsx(useLabelableId.FieldRootContext.Provider, {
449
450
  value: contextValue,
450
451
  children: element
451
452
  });
@@ -482,10 +483,10 @@ const FieldLabel = /*#__PURE__*/React__namespace.forwardRef(function FieldLabel(
482
483
  nativeLabel = true,
483
484
  ...elementProps
484
485
  } = componentProps;
485
- const fieldRootContext = useLabel.useFieldRootContext(false);
486
+ const fieldRootContext = useLabelableId.useFieldRootContext(false);
486
487
  const {
487
488
  labelId
488
- } = useLabel.useLabelableContext();
489
+ } = useLabelableId.useLabelableContext();
489
490
  const labelRef = React__namespace.useRef(null);
490
491
  const labelProps = useLabel.useLabel({
491
492
  id: labelId ?? idProp,
@@ -515,14 +516,14 @@ const FieldLabel = /*#__PURE__*/React__namespace.forwardRef(function FieldLabel(
515
516
  ref: [forwardedRef, labelRef],
516
517
  state: fieldRootContext.state,
517
518
  props: [labelProps, elementProps],
518
- stateAttributesMapping: useLabel.fieldValidityMapping
519
+ stateAttributesMapping: useLabelableId.fieldValidityMapping
519
520
  });
520
521
  return element;
521
522
  });
522
523
  if (process.env.NODE_ENV !== "production") FieldLabel.displayName = "FieldLabel";
523
524
 
524
525
  const stateAttributesMapping = {
525
- ...useLabel.fieldValidityMapping,
526
+ ...useLabelableId.fieldValidityMapping,
526
527
  ...useButton.transitionStatusMapping
527
528
  };
528
529
 
@@ -545,13 +546,13 @@ const FieldError = /*#__PURE__*/React__namespace.forwardRef(function FieldError(
545
546
  validityData,
546
547
  state: fieldState,
547
548
  name
548
- } = useLabel.useFieldRootContext(false);
549
+ } = useLabelableId.useFieldRootContext(false);
549
550
  const {
550
551
  setMessageIds
551
- } = useLabel.useLabelableContext();
552
+ } = useLabelableId.useLabelableContext();
552
553
  const {
553
554
  errors
554
- } = useLabel.useFormContext();
555
+ } = useLabelableId.useFormContext();
555
556
  const formError = name ? errors[name] : null;
556
557
  let rendered = false;
557
558
  if (formError || match === true) {
@@ -637,10 +638,10 @@ const FieldDescription = /*#__PURE__*/React__namespace.forwardRef(function Field
637
638
  ...elementProps
638
639
  } = componentProps;
639
640
  const id = useButton.useBaseUiId(idProp);
640
- const fieldRootContext = useLabel.useFieldRootContext(false);
641
+ const fieldRootContext = useLabelableId.useFieldRootContext(false);
641
642
  const {
642
643
  setMessageIds
643
- } = useLabel.useLabelableContext();
644
+ } = useLabelableId.useLabelableContext();
644
645
  useButton.useIsoLayoutEffect(() => {
645
646
  if (!id) {
646
647
  return undefined;
@@ -656,7 +657,7 @@ const FieldDescription = /*#__PURE__*/React__namespace.forwardRef(function Field
656
657
  props: [{
657
658
  id
658
659
  }, elementProps],
659
- stateAttributesMapping: useLabel.fieldValidityMapping
660
+ stateAttributesMapping: useLabelableId.fieldValidityMapping
660
661
  });
661
662
  return element;
662
663
  });
@@ -6,10 +6,11 @@ import { A as ActivityIndicator } from './ActivityIndicator-es.js';
6
6
  import { B as Button } from './Button-es.js';
7
7
  import { I as Icon } from './Icon-es.js';
8
8
  import { f as formatErrorMessage, a as useRefWithInit, m as mergeProps, E as EMPTY_OBJECT, u as useRenderElement } from './useRenderElement-es.js';
9
- import { u as useBaseUiId, a as useStableCallback, b as useTimeout, S as SafeReact, e as error, t as transitionStatusMapping, c as useTransitionStatus, d as useIsoLayoutEffect, f as useOpenChangeComplete } from './useButton-es.js';
10
- import { u as useLabelableContext, L as LabelableContext, a as useFormContext, D as DEFAULT_VALIDITY_STATE, g as getCombinedFieldValidityData, f as fieldValidityMapping, F as FieldRootContext, b as useFieldRootContext, c as useLabel } from './useLabel-es.js';
9
+ import { u as useBaseUiId, b as useStableCallback, h as useTimeout, S as SafeReact, j as error, t as transitionStatusMapping, k as useTransitionStatus, a as useIsoLayoutEffect, f as useOpenChangeComplete } from './useButton-es.js';
10
+ import { u as useLabelableContext, L as LabelableContext, a as useFormContext, D as DEFAULT_VALIDITY_STATE, g as getCombinedFieldValidityData, f as fieldValidityMapping, F as FieldRootContext, b as useFieldRootContext } from './useLabelableId-es.js';
11
11
  import { jsx } from 'react/jsx-runtime';
12
12
  import { N as NumberFieldRoot, a as NumberFieldGroup, b as NumberFieldInput, c as NumberFieldIncrement, d as NumberFieldDecrement } from './NumberFieldInput-es.js';
13
+ import { u as useLabel } from './useLabel-es.js';
13
14
 
14
15
  const FieldsetRootContext = /*#__PURE__*/React.createContext({
15
16
  legendId: undefined,
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import { f as floor, t as tabbable, i as isTabbable, a as focusable } from './index.esm-es.js';
4
- import { f as getComputedStyle, i as isShadowRoot, g as getNodeName, c as isNode, a as isHTMLElement, k as getWindow, j as isWebKit$1, b as isElement, d as isLastTraversableNode, e as getParentNode, o as isOverflowElement } from './floating-ui.utils.dom-es.js';
4
+ import { f as getComputedStyle, i as isShadowRoot, g as getNodeName, c as isNode, a as isHTMLElement, o as getWindow, j as isWebKit$1, b as isElement, d as isLastTraversableNode, e as getParentNode, m as isOverflowElement } from './floating-ui.utils.dom-es.js';
5
5
  import { f as formatErrorMessage, a as useRefWithInit, i as isReactVersionAtLeast, N as NOOP, u as useRenderElement, E as EMPTY_OBJECT, b as useMergedRefs } from './useRenderElement-es.js';
6
- import { d as useIsoLayoutEffect, a as useStableCallback, y as ARROW_UP, A as ARROW_DOWN, s as stopEvent, q as ARROW_LEFT, r as ARROW_RIGHT, o as ownerDocument, m as contains, l as activeElement, a0 as isSafari, F as visuallyHidden, n as createChangeEventDetails, v as focusOut, h as useId, k as isTypeableCombobox, j as useValueAsRef, b as useTimeout, ac as useAnimationFrame, i as getFloatingFocusElement, ad as resolveRef, a4 as triggerHover, a7 as outsidePress, w as isVirtualClick, x as isVirtualPointerEvent, V as isWebKit, X as isTypeableElement, g as getTarget, W as isMouseLikePointerType, ae as isClickLikeEvent, a1 as triggerPress, af as isReactEvent, a2 as escapeKey, T as Timeout, ag as isEventTargetWithin, ah as isRootElement, ai as FOCUSABLE_ATTRIBUTE, aj as ACTIVE_KEY, ak as SELECTED_KEY, C as isIOS, O as useValueChanged, al as TransitionStatusDataAttributes, am as AnimationFrame } from './useButton-es.js';
6
+ import { a as useIsoLayoutEffect, b as useStableCallback, C as ARROW_UP, A as ARROW_DOWN, s as stopEvent, w as ARROW_LEFT, x as ARROW_RIGHT, o as ownerDocument, r as contains, q as activeElement, a6 as isSafari, I as visuallyHidden, d as createChangeEventDetails, y as focusOut, l as useId, p as isTypeableCombobox, n as useValueAsRef, h as useTimeout, W as useAnimationFrame, m as getFloatingFocusElement, ai as resolveRef, aa as triggerHover, U as outsidePress, z as isVirtualClick, B as isVirtualPointerEvent, X as isWebKit, a1 as isTypeableElement, g as getTarget, a0 as isMouseLikePointerType, aj as isClickLikeEvent, a7 as triggerPress, ak as isReactEvent, a8 as escapeKey, T as Timeout, al as isEventTargetWithin, am as isRootElement, an as FOCUSABLE_ATTRIBUTE, ao as ACTIVE_KEY, ap as SELECTED_KEY, F as isIOS, Q as useValueChanged, aq as TransitionStatusDataAttributes, ar as AnimationFrame } from './useButton-es.js';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
8
  import * as ReactDOM from 'react-dom';
9
9
 
@@ -4201,4 +4201,4 @@ const InternalBackdrop = /*#__PURE__*/React.forwardRef(function InternalBackdrop
4201
4201
  });
4202
4202
  if (process.env.NODE_ENV !== "production") InternalBackdrop.displayName = "InternalBackdrop";
4203
4203
 
4204
- export { BASE_UI_SWIPE_IGNORE_SELECTOR as $, triggerOpenStateMapping as A, createAttribute as B, CommonPopupDataAttributes as C, DISABLED_TRANSITIONS_STYLE as D, getNodeChildren as E, FloatingRootStore as F, POPUP_COLLISION_AVOIDANCE as G, FloatingNode as H, InternalBackdrop as I, DROPDOWN_COLLISION_AVOIDANCE as J, FloatingTreeStore as K, fastComponent as L, useFloatingNodeId as M, FloatingTree as N, fastComponentRef as O, PopupTriggerMap as P, getTabbableBeforeElement as Q, ReactStore as R, isOutsideEvent as S, TYPEAHEAD_RESET_MS as T, getTabbableAfterElement as U, getNextTabbable as V, pressableTriggerOpenStateMapping as W, FocusGuard as X, PATIENT_CLICK_THRESHOLD as Y, useStore as Z, Store as _, useFloatingTree as a, getMaxListIndex as b, createGridCellMap as c, isListIndexDisabled as d, getGridNavigatedIndex as e, getGridCellIndices as f, getMinListIndex as g, getGridCellIndexOfCorner as h, isIndexOutOfListBounds as i, findNonDisabledListIndex as j, enqueueFocus as k, isElementVisible as l, useDirection as m, createSelector as n, FloatingFocusManager as o, popupStateMapping as p, FloatingPortal as q, inertValue as r, useOpenInteractionType as s, useDismiss as t, useFloatingParentNodeId as u, useScrollLock as v, useInteractions as w, useOnFirstRender as x, useClick as y, CLICK_TRIGGER_IDENTIFIER as z };
4204
+ export { BASE_UI_SWIPE_IGNORE_SELECTOR as $, inertValue as A, DROPDOWN_COLLISION_AVOIDANCE as B, CommonPopupDataAttributes as C, DISABLED_TRANSITIONS_STYLE as D, CLICK_TRIGGER_IDENTIFIER as E, FloatingFocusManager as F, triggerOpenStateMapping as G, createAttribute as H, InternalBackdrop as I, getNodeChildren as J, POPUP_COLLISION_AVOIDANCE as K, FloatingNode as L, FloatingTreeStore as M, fastComponent as N, useFloatingNodeId as O, PopupTriggerMap as P, FloatingTree as Q, ReactStore as R, Store as S, TYPEAHEAD_RESET_MS as T, fastComponentRef as U, getTabbableBeforeElement as V, isOutsideEvent as W, getTabbableAfterElement as X, getNextTabbable as Y, FocusGuard as Z, PATIENT_CLICK_THRESHOLD as _, FloatingRootStore as a, useFloatingTree as b, getMaxListIndex as c, createGridCellMap as d, isListIndexDisabled as e, getGridNavigatedIndex as f, getMinListIndex as g, getGridCellIndices as h, isIndexOutOfListBounds as i, getGridCellIndexOfCorner as j, findNonDisabledListIndex as k, enqueueFocus as l, isElementVisible as m, useDirection as n, createSelector as o, popupStateMapping as p, useOpenInteractionType as q, useStore as r, useClick as s, useDismiss as t, useFloatingParentNodeId as u, useInteractions as v, useOnFirstRender as w, pressableTriggerOpenStateMapping as x, FloatingPortal as y, useScrollLock as z };
@@ -25,11 +25,14 @@ require('../BottomSheet-cjs.js');
25
25
  require('../ScrollAreaViewport-cjs.js');
26
26
  require('../InternalBackdrop-cjs.js');
27
27
  require('../useButton-cjs.js');
28
+ require('../CSPContext-cjs.js');
28
29
  require('../clamp-cjs.js');
29
30
  require('../OverlaySeparator-cjs.js');
30
31
  require('../Separator-cjs.js');
32
+ require('../DrawerTitle-cjs.js');
31
33
  require('../MenuSubmenuTrigger-cjs.js');
32
34
  require('../useCompositeListItem-cjs.js');
35
+ require('../ToolbarRootContext-cjs.js');
33
36
 
34
37
 
35
38
 
@@ -23,8 +23,11 @@ import '../BottomSheet-es.js';
23
23
  import '../ScrollAreaViewport-es.js';
24
24
  import '../InternalBackdrop-es.js';
25
25
  import '../useButton-es.js';
26
+ import '../CSPContext-es.js';
26
27
  import '../clamp-es.js';
27
28
  import '../OverlaySeparator-es.js';
28
29
  import '../Separator-es.js';
30
+ import '../DrawerTitle-es.js';
29
31
  import '../MenuSubmenuTrigger-es.js';
30
32
  import '../useCompositeListItem-es.js';
33
+ import '../ToolbarRootContext-es.js';
package/dist/Menu-cjs.js CHANGED
@@ -14,8 +14,9 @@ var floatingUi_reactDom = require('./floating-ui.react-dom-cjs.js');
14
14
  var useRenderElement = require('./useRenderElement-cjs.js');
15
15
  var buttonRenderAdapter = require('./buttonRenderAdapter-cjs.js');
16
16
  var BottomSheet = require('./BottomSheet-cjs.js');
17
- var OverlaySeparator = require('./OverlaySeparator-cjs.js');
18
17
  var ScrollAreaViewport = require('./ScrollAreaViewport-cjs.js');
18
+ var OverlaySeparator = require('./OverlaySeparator-cjs.js');
19
+ var DrawerTitle = require('./DrawerTitle-cjs.js');
19
20
  var MenuSubmenuTrigger$1 = require('./MenuSubmenuTrigger-cjs.js');
20
21
 
21
22
  var styles$2 = {"wrapper":"h-nk89U2n6Q-","floatingContainer":"krpkWzoaVcc-","menu":"_7sU7mp1w0jM-","legacySection":"_4x-vvEmn4gM-","separator":"i0QNcs4S-wk-","triggerWrapper":"_7CsejipGrzM-","ariaMenu":"bO7lGVQC42c-","ariaItem":"u6fDgbWmPck-","ariaSection":"-TSNrZBKZJI-","ariaSectionHeader":"zs7dS2pKjEw-","sectionHeader":"MZJgunQcmdQ-","legacyAction":"_-1GOlrzd098-","action":"NYXV5w4pd0c-","destructive":"baYK2zQ6-GA-","overlay":"A7T14ALVEKg-","fullWidth":"Lgbn9IRPI5Y-","screenReaderOnly":"o-ps580KdWI-","spinning":"f1oTdSTeUOM-"};
@@ -201,7 +202,7 @@ function MenuPortal({ children }) {
201
202
 
202
203
  var styles$1 = {"submenuHeader":"Vw9MFreevMU-","submenuTitle":"wpNMcBuNwwY-","spinning":"nOEBQCC4Cos-"};
203
204
 
204
- var styles = {"wrapper":"fpi0W91w2ag-","floatingContainer":"ba-Kj6mvQUw-","menu":"-DayvgvIcVo-","legacySection":"VsRRunpS6Yo-","separator":"jnggqK3YTIU-","triggerWrapper":"oRQQVVq-yxA-","composableMenu":"atokGnmWVls-","composableDropdownPopup":"Uk14qmg-Fqc-","composableDropdownScroller":"CJKnGqldjF0-","bottomSheetMenuContent":"J3CW8IU48RM-","composableItem":"zSMkwrZodBk-","composableItemNoLeadingSlot":"qbDWOwkPouM-","composableSection":"_353OIWGazfE-","composableGroup":"Q0ssxff-Qo4-","composableRadioGroup":"_2VyPM45lQBE-","composableSectionHeader":"efA-ozx9w0w-","composableGroupHeader":"BklkzNPbJ5Q-","composableGroupLabel":"_5-p9DbyRav4-","sectionHeader":"Bq7pLWj3jm4-","legacyAction":"P4Sdaq0-lZs-","action":"M1BgN-oCmKw-","destructive":"U9ihZZavz9w-","overlay":"_7we5hh6kYs8-","bottomSheetSubmenuPopup":"nf47GCAYI-c-","menuHidden":"cuw8ct7rX6s-","bottomSheetSubmenuBody":"a6uZEXgX8sg-","fullWidth":"_5OJ7B6mFcwk-","screenReaderOnly":"Bzvkz60bwWE-","spinning":"_0-VzuzHdi8o-"};
205
+ var styles = {"wrapper":"fpi0W91w2ag-","floatingContainer":"ba-Kj6mvQUw-","composableBackdrop":"wqvf3hcDMM0-","menu":"-DayvgvIcVo-","legacySection":"VsRRunpS6Yo-","separator":"jnggqK3YTIU-","triggerWrapper":"oRQQVVq-yxA-","composableMenu":"atokGnmWVls-","composableDropdownPopup":"Uk14qmg-Fqc-","composableDropdownScroller":"CJKnGqldjF0-","bottomSheetMenuContent":"J3CW8IU48RM-","composableItem":"zSMkwrZodBk-","composableItemNoLeadingSlot":"qbDWOwkPouM-","composableSection":"_353OIWGazfE-","composableGroup":"Q0ssxff-Qo4-","composableRadioGroup":"_2VyPM45lQBE-","composableSectionHeader":"efA-ozx9w0w-","composableGroupHeader":"BklkzNPbJ5Q-","composableGroupLabel":"_5-p9DbyRav4-","sectionHeader":"Bq7pLWj3jm4-","legacyAction":"P4Sdaq0-lZs-","action":"M1BgN-oCmKw-","destructive":"U9ihZZavz9w-","overlay":"_7we5hh6kYs8-","bottomSheetSubmenuPopup":"nf47GCAYI-c-","menuHidden":"cuw8ct7rX6s-","bottomSheetSubmenuBody":"a6uZEXgX8sg-","fullWidth":"_5OJ7B6mFcwk-","screenReaderOnly":"Bzvkz60bwWE-","spinning":"_0-VzuzHdi8o-"};
205
206
 
206
207
  function mergeUnsafeProps(props) {
207
208
  return useRenderElement.mergeProps({
@@ -652,9 +653,9 @@ function BottomSheetSubmenuContent({ children, className, style, UNSAFE_style, U
652
653
  const bottomSheetStyle = getBottomSheetContentStyle(resolvedBaseProps.style);
653
654
  return (React.createElement(BottomSheet.BottomSheet.Popup, { initialFocus: getInitialBottomSheetFocus(menuRef, focusModalityRef), className: classnames(styles.menu, styles.bottomSheetSubmenuPopup) },
654
655
  React.createElement(BottomSheet.BottomSheet.Content, { style: bottomSheetStyle },
655
- title ? (React.createElement(MenuSubmenuTrigger$1.DrawerTitle, { className: styles.screenReaderOnly }, title)) : null,
656
+ title ? (React.createElement(DrawerTitle.DrawerTitle, { className: styles.screenReaderOnly }, title)) : null,
656
657
  React.createElement("div", { className: styles$1.submenuHeader },
657
- React.createElement(MenuSubmenuTrigger$1.DrawerClose, { "aria-label": title ? `Back to ${title}` : "Back", render: React.createElement(Button.Button, { ariaLabel: title ? `Back to ${title}` : "Back", icon: "arrowLeft", type: "tertiary", variation: "subtle" }) }),
658
+ React.createElement(DrawerTitle.DrawerClose, { "aria-label": title ? `Back to ${title}` : "Back", render: React.createElement(Button.Button, { ariaLabel: title ? `Back to ${title}` : "Back", icon: "arrowLeft", type: "tertiary", variation: "subtle" }) }),
658
659
  title ? (React.createElement("div", { className: styles$1.submenuTitle },
659
660
  React.createElement(Typography.Typography, { element: "span", size: "base", fontWeight: "semiBold", textColor: "text" }, title))) : null),
660
661
  React.createElement(BottomSheetMenuSurface, { menuRef: menuRef, className: classnames(styles.bottomSheetSubmenuBody, styles.composableSection, resolvedBaseProps.className) }, children))));
@@ -743,6 +744,7 @@ function MenuDropdownContent({ children, style, className, preferredPlacement, U
743
744
  const floatingLayerStyle = getFloatingLayerStyle(resolvedBaseProps.style);
744
745
  const popupStyle = getMenuPopupStyle(resolvedBaseProps.style);
745
746
  return (React.createElement(MenuSubmenuTrigger$1.MenuPortal, null,
747
+ React.createElement(MenuSubmenuTrigger$1.MenuBackdrop, { className: styles.composableBackdrop }),
746
748
  React.createElement(MenuSubmenuTrigger$1.MenuPositioner, { className: styles.floatingContainer, style: floatingLayerStyle, align: align, side: side, sideOffset: MENU_OFFSET },
747
749
  React.createElement(MenuSubmenuTrigger$1.MenuPopup, { className: classnames(styles.menu, styles.composableDropdownPopup, resolvedBaseProps.className), style: popupStyle },
748
750
  React.createElement("div", { className: classnames(styles.composableMenu, styles.composableDropdownScroller) }, children)))));
package/dist/Menu-es.js CHANGED
@@ -11,10 +11,11 @@ import { c as calculateMaxHeight } from './maxHeight-es.js';
11
11
  import { o as offset, f as flip, d as size, b as autoUpdate } from './floating-ui.react-dom-es.js';
12
12
  import { m as mergeProps } from './useRenderElement-es.js';
13
13
  import { n as normalizeBaseUiButtonProps, i as isAtlantisButtonRenderTarget, s as stripNativeTypeFromButtonRenderTarget, r as renderAtlantisButtonTarget } from './buttonRenderAdapter-es.js';
14
- import { B as BottomSheet } from './BottomSheet-es.js';
15
- import { O as OverlaySeparator } from './OverlaySeparator-es.js';
14
+ import { a as BottomSheet } from './BottomSheet-es.js';
16
15
  import { D as DrawerTrigger } from './ScrollAreaViewport-es.js';
17
- import { D as DrawerTitle, a as DrawerClose, M as MenuTrigger$1, b as MenuLinkItem, c as MenuItem$1, d as MenuRadioItem$1, e as MenuRadioItemIndicator, f as MenuSubmenuTrigger$1, g as MenuRoot, h as MenuPortal$1, i as MenuPositioner, j as MenuPopup, k as MenuRadioGroup$1, l as MenuGroup$1, m as MenuSubmenuRoot, n as MenuGroupLabel$1 } from './MenuSubmenuTrigger-es.js';
16
+ import { O as OverlaySeparator } from './OverlaySeparator-es.js';
17
+ import { D as DrawerTitle, a as DrawerClose } from './DrawerTitle-es.js';
18
+ import { M as MenuTrigger$1, a as MenuLinkItem, b as MenuItem$1, c as MenuRadioItem$1, d as MenuRadioItemIndicator, e as MenuSubmenuTrigger$1, f as MenuRoot, g as MenuPortal$1, h as MenuBackdrop, i as MenuPositioner, j as MenuPopup, k as MenuRadioGroup$1, l as MenuGroup$1, m as MenuSubmenuRoot, n as MenuGroupLabel$1 } from './MenuSubmenuTrigger-es.js';
18
19
 
19
20
  var styles$2 = {"wrapper":"h-nk89U2n6Q-","floatingContainer":"krpkWzoaVcc-","menu":"_7sU7mp1w0jM-","legacySection":"_4x-vvEmn4gM-","separator":"i0QNcs4S-wk-","triggerWrapper":"_7CsejipGrzM-","ariaMenu":"bO7lGVQC42c-","ariaItem":"u6fDgbWmPck-","ariaSection":"-TSNrZBKZJI-","ariaSectionHeader":"zs7dS2pKjEw-","sectionHeader":"MZJgunQcmdQ-","legacyAction":"_-1GOlrzd098-","action":"NYXV5w4pd0c-","destructive":"baYK2zQ6-GA-","overlay":"A7T14ALVEKg-","fullWidth":"Lgbn9IRPI5Y-","screenReaderOnly":"o-ps580KdWI-","spinning":"f1oTdSTeUOM-"};
20
21
 
@@ -199,7 +200,7 @@ function MenuPortal({ children }) {
199
200
 
200
201
  var styles$1 = {"submenuHeader":"Vw9MFreevMU-","submenuTitle":"wpNMcBuNwwY-","spinning":"nOEBQCC4Cos-"};
201
202
 
202
- var styles = {"wrapper":"fpi0W91w2ag-","floatingContainer":"ba-Kj6mvQUw-","menu":"-DayvgvIcVo-","legacySection":"VsRRunpS6Yo-","separator":"jnggqK3YTIU-","triggerWrapper":"oRQQVVq-yxA-","composableMenu":"atokGnmWVls-","composableDropdownPopup":"Uk14qmg-Fqc-","composableDropdownScroller":"CJKnGqldjF0-","bottomSheetMenuContent":"J3CW8IU48RM-","composableItem":"zSMkwrZodBk-","composableItemNoLeadingSlot":"qbDWOwkPouM-","composableSection":"_353OIWGazfE-","composableGroup":"Q0ssxff-Qo4-","composableRadioGroup":"_2VyPM45lQBE-","composableSectionHeader":"efA-ozx9w0w-","composableGroupHeader":"BklkzNPbJ5Q-","composableGroupLabel":"_5-p9DbyRav4-","sectionHeader":"Bq7pLWj3jm4-","legacyAction":"P4Sdaq0-lZs-","action":"M1BgN-oCmKw-","destructive":"U9ihZZavz9w-","overlay":"_7we5hh6kYs8-","bottomSheetSubmenuPopup":"nf47GCAYI-c-","menuHidden":"cuw8ct7rX6s-","bottomSheetSubmenuBody":"a6uZEXgX8sg-","fullWidth":"_5OJ7B6mFcwk-","screenReaderOnly":"Bzvkz60bwWE-","spinning":"_0-VzuzHdi8o-"};
203
+ var styles = {"wrapper":"fpi0W91w2ag-","floatingContainer":"ba-Kj6mvQUw-","composableBackdrop":"wqvf3hcDMM0-","menu":"-DayvgvIcVo-","legacySection":"VsRRunpS6Yo-","separator":"jnggqK3YTIU-","triggerWrapper":"oRQQVVq-yxA-","composableMenu":"atokGnmWVls-","composableDropdownPopup":"Uk14qmg-Fqc-","composableDropdownScroller":"CJKnGqldjF0-","bottomSheetMenuContent":"J3CW8IU48RM-","composableItem":"zSMkwrZodBk-","composableItemNoLeadingSlot":"qbDWOwkPouM-","composableSection":"_353OIWGazfE-","composableGroup":"Q0ssxff-Qo4-","composableRadioGroup":"_2VyPM45lQBE-","composableSectionHeader":"efA-ozx9w0w-","composableGroupHeader":"BklkzNPbJ5Q-","composableGroupLabel":"_5-p9DbyRav4-","sectionHeader":"Bq7pLWj3jm4-","legacyAction":"P4Sdaq0-lZs-","action":"M1BgN-oCmKw-","destructive":"U9ihZZavz9w-","overlay":"_7we5hh6kYs8-","bottomSheetSubmenuPopup":"nf47GCAYI-c-","menuHidden":"cuw8ct7rX6s-","bottomSheetSubmenuBody":"a6uZEXgX8sg-","fullWidth":"_5OJ7B6mFcwk-","screenReaderOnly":"Bzvkz60bwWE-","spinning":"_0-VzuzHdi8o-"};
203
204
 
204
205
  function mergeUnsafeProps(props) {
205
206
  return mergeProps({
@@ -741,6 +742,7 @@ function MenuDropdownContent({ children, style, className, preferredPlacement, U
741
742
  const floatingLayerStyle = getFloatingLayerStyle(resolvedBaseProps.style);
742
743
  const popupStyle = getMenuPopupStyle(resolvedBaseProps.style);
743
744
  return (React__default.createElement(MenuPortal$1, null,
745
+ React__default.createElement(MenuBackdrop, { className: styles.composableBackdrop }),
744
746
  React__default.createElement(MenuPositioner, { className: styles.floatingContainer, style: floatingLayerStyle, align: align, side: side, sideOffset: MENU_OFFSET },
745
747
  React__default.createElement(MenuPopup, { className: classnames(styles.menu, styles.composableDropdownPopup, resolvedBaseProps.className), style: popupStyle },
746
748
  React__default.createElement("div", { className: classnames(styles.composableMenu, styles.composableDropdownScroller) }, children)))));
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var ScrollAreaViewport = require('./ScrollAreaViewport-cjs.js');
5
4
  var useRenderElement = require('./useRenderElement-cjs.js');
5
+ var InternalBackdrop = require('./InternalBackdrop-cjs.js');
6
6
  var useButton = require('./useButton-cjs.js');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var useCompositeListItem = require('./useCompositeListItem-cjs.js');
9
- var InternalBackdrop = require('./InternalBackdrop-cjs.js');
9
+ var ToolbarRootContext = require('./ToolbarRootContext-cjs.js');
10
+ var CSPContext = require('./CSPContext-cjs.js');
10
11
  var floatingUi_utils_dom = require('./floating-ui.utils.dom-cjs.js');
12
+ var ScrollAreaViewport = require('./ScrollAreaViewport-cjs.js');
11
13
  var ReactDOM = require('react-dom');
12
14
 
13
15
  function _interopNamespaceDefault(e) {
@@ -934,92 +936,6 @@ function safePolygon(options = {}) {
934
936
  return fn;
935
937
  }
936
938
 
937
- /**
938
- * A button that closes the dialog.
939
- * Renders a `<button>` element.
940
- *
941
- * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)
942
- */
943
- const DialogClose = /*#__PURE__*/React__namespace.forwardRef(function DialogClose(componentProps, forwardedRef) {
944
- const {
945
- render,
946
- className,
947
- disabled = false,
948
- nativeButton = true,
949
- ...elementProps
950
- } = componentProps;
951
- const {
952
- store
953
- } = ScrollAreaViewport.useDialogRootContext();
954
- const open = store.useState('open');
955
- function handleClick(event) {
956
- if (open) {
957
- store.setOpen(false, useButton.createChangeEventDetails(useButton.closePress, event.nativeEvent));
958
- }
959
- }
960
- const {
961
- getButtonProps,
962
- buttonRef
963
- } = useButton.useButton({
964
- disabled,
965
- native: nativeButton
966
- });
967
- const state = {
968
- disabled
969
- };
970
- return useRenderElement.useRenderElement('button', componentProps, {
971
- state,
972
- ref: [forwardedRef, buttonRef],
973
- props: [{
974
- onClick: handleClick
975
- }, elementProps, getButtonProps]
976
- });
977
- });
978
- if (process.env.NODE_ENV !== "production") DialogClose.displayName = "DialogClose";
979
-
980
- /**
981
- * A button that closes the drawer.
982
- * Renders a `<button>` element.
983
- *
984
- * Documentation: [Base UI Drawer](https://base-ui.com/react/components/drawer)
985
- */
986
- const DrawerClose = DialogClose;
987
-
988
- /**
989
- * A heading that labels the dialog.
990
- * Renders an `<h2>` element.
991
- *
992
- * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)
993
- */
994
- const DialogTitle = /*#__PURE__*/React__namespace.forwardRef(function DialogTitle(componentProps, forwardedRef) {
995
- const {
996
- render,
997
- className,
998
- id: idProp,
999
- ...elementProps
1000
- } = componentProps;
1001
- const {
1002
- store
1003
- } = ScrollAreaViewport.useDialogRootContext();
1004
- const id = useButton.useBaseUiId(idProp);
1005
- store.useSyncedValueWithCleanup('titleElementId', id);
1006
- return useRenderElement.useRenderElement('h2', componentProps, {
1007
- ref: forwardedRef,
1008
- props: [{
1009
- id
1010
- }, elementProps]
1011
- });
1012
- });
1013
- if (process.env.NODE_ENV !== "production") DialogTitle.displayName = "DialogTitle";
1014
-
1015
- /**
1016
- * A heading that labels the drawer.
1017
- * Renders an `<h2>` element.
1018
- *
1019
- * Documentation: [Base UI Drawer](https://base-ui.com/react/components/drawer)
1020
- */
1021
- const DrawerTitle = DialogTitle;
1022
-
1023
939
  const MenuPositionerContext = /*#__PURE__*/React__namespace.createContext(undefined);
1024
940
  if (process.env.NODE_ENV !== "production") MenuPositionerContext.displayName = "MenuPositionerContext";
1025
941
  function useMenuPositionerContext(optional) {
@@ -1050,6 +966,52 @@ function useContextMenuRootContext(optional = true) {
1050
966
  return context;
1051
967
  }
1052
968
 
969
+ const stateAttributesMapping$1 = {
970
+ ...InternalBackdrop.popupStateMapping,
971
+ ...useButton.transitionStatusMapping
972
+ };
973
+
974
+ /**
975
+ * An overlay displayed beneath the menu popup.
976
+ * Renders a `<div>` element.
977
+ *
978
+ * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
979
+ */
980
+ const MenuBackdrop = /*#__PURE__*/React__namespace.forwardRef(function MenuBackdrop(componentProps, forwardedRef) {
981
+ const {
982
+ className,
983
+ render,
984
+ ...elementProps
985
+ } = componentProps;
986
+ const {
987
+ store
988
+ } = useMenuRootContext();
989
+ const open = store.useState('open');
990
+ const mounted = store.useState('mounted');
991
+ const transitionStatus = store.useState('transitionStatus');
992
+ const lastOpenChangeReason = store.useState('lastOpenChangeReason');
993
+ const contextMenuContext = useContextMenuRootContext();
994
+ const state = {
995
+ open,
996
+ transitionStatus
997
+ };
998
+ return useRenderElement.useRenderElement('div', componentProps, {
999
+ ref: contextMenuContext?.backdropRef ? [forwardedRef, contextMenuContext.backdropRef] : forwardedRef,
1000
+ state,
1001
+ stateAttributesMapping: stateAttributesMapping$1,
1002
+ props: [{
1003
+ role: 'presentation',
1004
+ hidden: !mounted,
1005
+ style: {
1006
+ pointerEvents: lastOpenChangeReason === useButton.triggerHover ? 'none' : undefined,
1007
+ userSelect: 'none',
1008
+ WebkitUserSelect: 'none'
1009
+ }
1010
+ }, elementProps]
1011
+ });
1012
+ });
1013
+ if (process.env.NODE_ENV !== "production") MenuBackdrop.displayName = "MenuBackdrop";
1014
+
1053
1015
  /**
1054
1016
  * Returns common props shared by all menu item types.
1055
1017
  * This hook extracts the shared logic for id, role, tabIndex, onKeyDown,
@@ -1390,16 +1352,6 @@ const MenuLinkItem = /*#__PURE__*/React__namespace.forwardRef(function MenuLinkI
1390
1352
  });
1391
1353
  if (process.env.NODE_ENV !== "production") MenuLinkItem.displayName = "MenuLinkItem";
1392
1354
 
1393
- const ToolbarRootContext = /*#__PURE__*/React__namespace.createContext(undefined);
1394
- if (process.env.NODE_ENV !== "production") ToolbarRootContext.displayName = "ToolbarRootContext";
1395
- function useToolbarRootContext(optional) {
1396
- const context = React__namespace.useContext(ToolbarRootContext);
1397
- if (context === undefined && !optional) {
1398
- throw new Error(process.env.NODE_ENV !== "production" ? 'Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>.' : useRenderElement.formatErrorMessage(69));
1399
- }
1400
- return context;
1401
- }
1402
-
1403
1355
  const stateAttributesMapping = {
1404
1356
  ...InternalBackdrop.popupStateMapping,
1405
1357
  ...useButton.transitionStatusMapping
@@ -1425,7 +1377,7 @@ const MenuPopup = /*#__PURE__*/React__namespace.forwardRef(function MenuPopup(co
1425
1377
  side,
1426
1378
  align
1427
1379
  } = useMenuPositionerContext();
1428
- const insideToolbar = useToolbarRootContext(true) != null;
1380
+ const insideToolbar = ToolbarRootContext.useToolbarRootContext(true) != null;
1429
1381
  const open = store.useState('open');
1430
1382
  const transitionStatus = store.useState('transitionStatus');
1431
1383
  const popupProps = store.useState('popupProps');
@@ -1481,7 +1433,7 @@ const MenuPopup = /*#__PURE__*/React__namespace.forwardRef(function MenuPopup(co
1481
1433
  stateAttributesMapping,
1482
1434
  props: [popupProps, {
1483
1435
  onKeyDown(event) {
1484
- if (insideToolbar && ScrollAreaViewport.COMPOSITE_KEYS.has(event.key)) {
1436
+ if (insideToolbar && CSPContext.COMPOSITE_KEYS.has(event.key)) {
1485
1437
  event.stopPropagation();
1486
1438
  }
1487
1439
  }
@@ -3067,8 +3019,7 @@ const MenuSubmenuTrigger = /*#__PURE__*/React__namespace.forwardRef(function Sub
3067
3019
  });
3068
3020
  if (process.env.NODE_ENV !== "production") MenuSubmenuTrigger.displayName = "MenuSubmenuTrigger";
3069
3021
 
3070
- exports.DrawerClose = DrawerClose;
3071
- exports.DrawerTitle = DrawerTitle;
3022
+ exports.MenuBackdrop = MenuBackdrop;
3072
3023
  exports.MenuGroup = MenuGroup;
3073
3024
  exports.MenuGroupLabel = MenuGroupLabel;
3074
3025
  exports.MenuItem = MenuItem;
@@ -3086,7 +3037,6 @@ exports.MenuSubmenuTrigger = MenuSubmenuTrigger;
3086
3037
  exports.MenuTrigger = MenuTrigger;
3087
3038
  exports.REGULAR_ITEM = REGULAR_ITEM;
3088
3039
  exports.itemMapping = itemMapping;
3089
- exports.useContextMenuRootContext = useContextMenuRootContext;
3090
3040
  exports.useMenuItem = useMenuItem;
3091
3041
  exports.useMenuPositionerContext = useMenuPositionerContext;
3092
3042
  exports.useMenuRootContext = useMenuRootContext;