@semcore/dropdown-menu 4.48.0 → 4.48.1

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.
@@ -1,386 +1,483 @@
1
- import X from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import Y from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import T from "@babel/runtime/helpers/esm/slicedToArray";
4
- import W from "@babel/runtime/helpers/esm/extends";
5
- import u from "@babel/runtime/helpers/esm/objectSpread2";
6
- import Z from "@babel/runtime/helpers/esm/classCallCheck";
7
- import ee from "@babel/runtime/helpers/esm/createClass";
8
- import V from "@babel/runtime/helpers/esm/assertThisInitialized";
9
- import I from "@babel/runtime/helpers/esm/get";
10
- import y from "@babel/runtime/helpers/esm/getPrototypeOf";
11
- import te from "@babel/runtime/helpers/esm/inherits";
12
- import re from "@babel/runtime/helpers/esm/createSuper";
13
- import C from "@babel/runtime/helpers/esm/defineProperty";
14
- import { sstyled as ne } from "@semcore/utils/lib/core/index";
15
- import oe, { assignProps as h, sstyled as x } from "@semcore/core";
16
- import i from "react";
17
- import ie from "classnames";
18
- import D, { enhance as ae, selectedIndexContext as q, AbstractDropdown as _e } from "@semcore/dropdown";
19
- import { useBox as se, Flex as N } from "@semcore/flex-box";
20
- import k, { hideScrollBarsFromScreenReadersContext as de } from "@semcore/scroll-area";
21
- import { useUID as le } from "@semcore/utils/lib/uniqueID";
22
- import { localizedMessages as ge } from "./translations/__intergalactic-dynamic-locales.mjs";
23
- import { useFocusSource as ue } from "@semcore/utils/lib/enhances/keyboardFocusEnhance";
24
- import { isAdvanceMode as A } from "@semcore/utils/lib/findComponent";
25
- import { forkRef as G } from "@semcore/utils/lib/ref";
26
- import { callAllEventHandlers as E } from "@semcore/utils/lib/assignProps";
27
- import ce from "@semcore/button";
28
- import { Text as me } from "@semcore/typography";
29
- var he = ["className"], pe = (
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import _extends from "@babel/runtime/helpers/esm/extends";
5
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
7
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
8
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
9
+ import _get from "@babel/runtime/helpers/esm/get";
10
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
11
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
12
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
13
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
14
+ import { sstyled } from "@semcore/utils/lib/core/index";
15
+ import createComponent, { assignProps, sstyled as sstyled$1 } from "@semcore/core";
16
+ import React from "react";
17
+ import cn from "classnames";
18
+ import Dropdown, { enhance, selectedIndexContext, AbstractDropdown } from "@semcore/dropdown";
19
+ import { useBox, Flex } from "@semcore/flex-box";
20
+ import ScrollAreaComponent, { hideScrollBarsFromScreenReadersContext } from "@semcore/scroll-area";
21
+ import { useUID } from "@semcore/utils/lib/uniqueID";
22
+ import { localizedMessages } from "./translations/__intergalactic-dynamic-locales.mjs";
23
+ import { useFocusSource } from "@semcore/utils/lib/enhances/keyboardFocusEnhance";
24
+ import { isAdvanceMode } from "@semcore/utils/lib/findComponent";
25
+ import { forkRef } from "@semcore/utils/lib/ref";
26
+ import { callAllEventHandlers } from "@semcore/utils/lib/assignProps";
27
+ import ButtonComponent from "@semcore/button";
28
+ import { Text } from "@semcore/typography";
29
+ var _excluded = ["className"];
30
+ /*!__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
31
+ var style = (
30
32
  /*__reshadow_css_start__*/
31
- (ne.insert(
33
+ (sstyled.insert(
32
34
  /*__inner_css_start__*/
33
- `.___SDropdownMenuList_1j30o_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;position:relative;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_1j30o_gg_ .___SShadowHorizontal_1j30o_gg_:after,.___SDropdownMenuList_1j30o_gg_ .___SShadowHorizontal_1j30o_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuList_1j30o_gg_ .___SShadowHorizontal_1j30o_gg_._position_median_1j30o_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,
34
- linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
35
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowHorizontal_1j30o_gg_._position_median_1j30o_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,
36
- linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
37
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowHorizontal_1j30o_gg_._position_start_1j30o_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,
38
- linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
39
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowHorizontal_1j30o_gg_._position_end_1j30o_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,
40
- linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
41
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowVertical_1j30o_gg_:after,.___SDropdownMenuList_1j30o_gg_ .___SShadowVertical_1j30o_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuList_1j30o_gg_ .___SShadowVertical_1j30o_gg_._position_median_1j30o_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,
42
- linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
43
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowVertical_1j30o_gg_._position_median_1j30o_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,
44
- linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
45
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowVertical_1j30o_gg_._position_start_1j30o_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,
46
- linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
47
- )}.___SDropdownMenuList_1j30o_gg_ .___SShadowVertical_1j30o_gg_._position_end_1j30o_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,
48
- linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)
49
- )}.___SDropdownMenuItemContainer_1j30o_gg_.__nesting-trigger_1j30o_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_1j30o_gg_,.___SItemContentText_1j30o_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-1x, 4px);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SDropdownMenuItemAddon_1j30o_gg_:first-child,.___SItemContentText_1j30o_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1j30o_gg_:last-child,.___SItemContentText_1j30o_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_1j30o_gg_,.___SDropdownMenuNesting_1j30o_gg_._size_l_1j30o_gg_,.___SDropdownMenuNesting_1j30o_gg_._size_m_1j30o_gg_{padding:0}.___SDropdownMenuNesting_1j30o_gg_.__highlighted_1j30o_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownNestingItem_1j30o_gg_._size_l_1j30o_gg_,.___SDropdownNestingItem_1j30o_gg_._size_m_1j30o_gg_{padding-right:0}.___SDropdownNestingItem_1j30o_gg_ .___SDropdownMenuItemContainer_1j30o_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}.___SItemContent_1j30o_gg_:focus{outline:0}.___SItemHint_1j30o_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}`,
50
- "1j30o_gg_"
51
- ), {
52
- __SDropdownMenuItemContainer: "___SDropdownMenuItemContainer_1j30o_gg_",
53
- "_nesting-trigger": "__nesting-trigger_1j30o_gg_",
54
- __SDropdownMenuNesting: "___SDropdownMenuNesting_1j30o_gg_",
55
- _size_l: "_size_l_1j30o_gg_",
56
- _size_m: "_size_m_1j30o_gg_",
57
- _highlighted: "__highlighted_1j30o_gg_",
58
- __SDropdownNestingItem: "___SDropdownNestingItem_1j30o_gg_",
59
- __SItemContent: "___SItemContent_1j30o_gg_",
60
- __SItemHint: "___SItemHint_1j30o_gg_",
61
- __SDropdownMenuList: "___SDropdownMenuList_1j30o_gg_",
62
- __SShadowHorizontal: "___SShadowHorizontal_1j30o_gg_",
63
- _position_median: "_position_median_1j30o_gg_",
64
- _position_start: "_position_start_1j30o_gg_",
65
- _position_end: "_position_end_1j30o_gg_",
66
- __SShadowVertical: "___SShadowVertical_1j30o_gg_",
67
- __SDropdownMenuItemAddon: "___SDropdownMenuItemAddon_1j30o_gg_",
68
- __SItemContentText: "___SItemContentText_1j30o_gg_"
35
+ ".___SDropdownMenuList_nkixt_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x, 4px)0;position:relative;min-height:26px;min-width:32px;box-sizing:content-box;z-index:0;color:var(--intergalactic-text-primary, #191b23)}.___SDropdownMenuList_nkixt_gg_ .___SShadowHorizontal_nkixt_gg_:after,.___SDropdownMenuList_nkixt_gg_ .___SShadowHorizontal_nkixt_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuList_nkixt_gg_ .___SShadowHorizontal_nkixt_gg_._position_median_nkixt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowHorizontal_nkixt_gg_._position_median_nkixt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowHorizontal_nkixt_gg_._position_start_nkixt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,\n linear-gradient(to right, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowHorizontal_nkixt_gg_._position_end_nkixt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,\n linear-gradient(to left, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowVertical_nkixt_gg_:after,.___SDropdownMenuList_nkixt_gg_ .___SShadowVertical_nkixt_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-control-rounded, 6px)}.___SDropdownMenuList_nkixt_gg_ .___SShadowVertical_nkixt_gg_._position_median_nkixt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowVertical_nkixt_gg_._position_median_nkixt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowVertical_nkixt_gg_._position_start_nkixt_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,\n linear-gradient(to bottom, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuList_nkixt_gg_ .___SShadowVertical_nkixt_gg_._position_end_nkixt_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,\n linear-gradient(to top, rgba(255, 255, 255, 1) 34.38%, rgba(255, 255, 255, 0) 100%)\n )}.___SDropdownMenuItemContainer_nkixt_gg_.__nesting-trigger_nkixt_gg_{justify-content:space-between}.___SDropdownMenuItemAddon_nkixt_gg_,.___SItemContentText_nkixt_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-1x, 4px);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SDropdownMenuItemAddon_nkixt_gg_:first-child,.___SItemContentText_nkixt_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_nkixt_gg_:last-child,.___SItemContentText_nkixt_gg_:last-child{margin-right:0}.___SDropdownMenuNesting_nkixt_gg_,.___SDropdownMenuNesting_nkixt_gg_._size_l_nkixt_gg_,.___SDropdownMenuNesting_nkixt_gg_._size_m_nkixt_gg_{padding:0}.___SDropdownMenuNesting_nkixt_gg_.__highlighted_nkixt_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5)) inset}.___SDropdownNestingItem_nkixt_gg_._size_l_nkixt_gg_,.___SDropdownNestingItem_nkixt_gg_._size_m_nkixt_gg_{padding-right:0}.___SDropdownNestingItem_nkixt_gg_ .___SDropdownMenuItemContainer_nkixt_gg_{width:auto;padding-top:0;padding-bottom:0;padding-left:0;min-height:auto}.___SItemContent_nkixt_gg_:focus{outline:0}.___SItemHint_nkixt_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}",
36
+ /*__inner_css_end__*/
37
+ "nkixt_gg_"
38
+ ), /*__reshadow_css_end__*/
39
+ {
40
+ "__SDropdownMenuItemContainer": "___SDropdownMenuItemContainer_nkixt_gg_",
41
+ "_nesting-trigger": "__nesting-trigger_nkixt_gg_",
42
+ "__SDropdownMenuNesting": "___SDropdownMenuNesting_nkixt_gg_",
43
+ "_size_l": "_size_l_nkixt_gg_",
44
+ "_size_m": "_size_m_nkixt_gg_",
45
+ "_highlighted": "__highlighted_nkixt_gg_",
46
+ "__SDropdownNestingItem": "___SDropdownNestingItem_nkixt_gg_",
47
+ "__SItemContent": "___SItemContent_nkixt_gg_",
48
+ "__SItemHint": "___SItemHint_nkixt_gg_",
49
+ "__SDropdownMenuList": "___SDropdownMenuList_nkixt_gg_",
50
+ "__SShadowHorizontal": "___SShadowHorizontal_nkixt_gg_",
51
+ "_position_median": "_position_median_nkixt_gg_",
52
+ "_position_start": "_position_start_nkixt_gg_",
53
+ "_position_end": "_position_end_nkixt_gg_",
54
+ "__SShadowVertical": "___SShadowVertical_nkixt_gg_",
55
+ "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_nkixt_gg_",
56
+ "__SItemContentText": "___SItemContentText_nkixt_gg_"
69
57
  })
70
- ), U = function(_) {
71
- var t = _.children;
72
- return /* @__PURE__ */ i.createElement(de.Provider, {
73
- value: !0
74
- }, t);
75
- }, z = /* @__PURE__ */ i.createContext({}), M = /* @__PURE__ */ function(n) {
76
- te(t, n);
77
- var _ = re(t);
78
- function t() {
79
- var a;
80
- Z(this, t);
81
- for (var r = arguments.length, o = new Array(r), e = 0; e < r; e++)
82
- o[e] = arguments[e];
83
- return a = _.call.apply(_, [this].concat(o)), C(V(a), "actionsRef", /* @__PURE__ */ i.createRef()), C(V(a), "role", "menu"), a;
58
+ );
59
+ var ListBoxContextProvider = function ListBoxContextProvider2(_ref22) {
60
+ var children = _ref22.children;
61
+ return /* @__PURE__ */ React.createElement(hideScrollBarsFromScreenReadersContext.Provider, {
62
+ value: true
63
+ }, children);
64
+ };
65
+ var menuItemContext = /* @__PURE__ */ React.createContext({});
66
+ var DropdownMenuRoot = /* @__PURE__ */ function(_AbstractDropdown) {
67
+ _inherits(DropdownMenuRoot2, _AbstractDropdown);
68
+ var _super = _createSuper(DropdownMenuRoot2);
69
+ function DropdownMenuRoot2() {
70
+ var _this;
71
+ _classCallCheck(this, DropdownMenuRoot2);
72
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
73
+ args[_key] = arguments[_key];
74
+ }
75
+ _this = _super.call.apply(_super, [this].concat(args));
76
+ _defineProperty(_assertThisInitialized(_this), "actionsRef", /* @__PURE__ */ React.createRef());
77
+ _defineProperty(_assertThisInitialized(_this), "role", "menu");
78
+ return _this;
84
79
  }
85
- return ee(t, [{
80
+ _createClass(DropdownMenuRoot2, [{
86
81
  key: "uncontrolledProps",
87
- value: function() {
88
- var r = this;
89
- return u(u({}, I(y(t.prototype), "uncontrolledProps", this).call(this)), {}, {
90
- visible: [null, function(o) {
91
- o === !0 && setTimeout(function() {
92
- var e, s, d = (e = r.menuRef.current) === null || e === void 0 ? void 0 : e.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]'), l = (s = r.menuRef.current) === null || s === void 0 ? void 0 : s.querySelector('[aria-checked="true"]');
93
- if (l && d && r.asProps.itemsCount === void 0) {
94
- r.scrollToNode(l, !0);
95
- for (var m = 0; m < d.length; m++)
96
- if (d[m] === l) {
97
- r.handlers.highlightedIndex(m);
98
- break;
82
+ value: function uncontrolledProps() {
83
+ var _this2 = this;
84
+ return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "uncontrolledProps", this).call(this)), {}, {
85
+ visible: [null, function(visible) {
86
+ if (visible === true) {
87
+ setTimeout(function() {
88
+ var _this2$menuRef$curren, _this2$menuRef$curren2;
89
+ var options = (_this2$menuRef$curren = _this2.menuRef.current) === null || _this2$menuRef$curren === void 0 ? void 0 : _this2$menuRef$curren.querySelectorAll('[role="menuitemcheckbox"], [role="menuitemradio"]');
90
+ var selected = (_this2$menuRef$curren2 = _this2.menuRef.current) === null || _this2$menuRef$curren2 === void 0 ? void 0 : _this2$menuRef$curren2.querySelector('[aria-checked="true"]');
91
+ if (selected && options && _this2.asProps.itemsCount === void 0) {
92
+ _this2.scrollToNode(selected, true);
93
+ for (var i = 0; i < options.length; i++) {
94
+ if (options[i] === selected) {
95
+ _this2.handlers.highlightedIndex(i);
96
+ break;
97
+ }
99
98
  }
100
- }
101
- }, 30);
99
+ }
100
+ }, 30);
101
+ }
102
102
  }]
103
103
  });
104
104
  }
105
105
  }, {
106
106
  key: "itemRef",
107
- value: function(r, o, e) {
108
- I(y(t.prototype), "itemRef", this).call(this, r, o, e), e === document.activeElement && I(y(t.prototype), "scrollToNode", this).call(this, e);
107
+ value: function itemRef(props, index, node) {
108
+ _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "itemRef", this).call(this, props, index, node);
109
+ if (node === document.activeElement) {
110
+ _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "scrollToNode", this).call(this, node);
111
+ }
109
112
  }
110
113
  }, {
111
114
  key: "getTriggerProps",
112
- value: function() {
113
- var r = this.asProps, o = r.Children, e = r.uid, s = r.visible, d = A(o, [v.Menu.displayName]), l = d ? "igc-".concat(e, "-list") : "igc-".concat(e, "-popper");
114
- return u(u({}, I(y(t.prototype), "getTriggerProps", this).call(this)), {}, {
115
- onKeyDown: E(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleKeyDownForMenu("trigger")),
116
- "aria-controls": s ? l : void 0,
117
- "aria-haspopup": d ? "true" : "dialog"
115
+ value: function getTriggerProps() {
116
+ var _this$asProps = this.asProps, Children = _this$asProps.Children, uid = _this$asProps.uid, visible = _this$asProps.visible;
117
+ var hasMenu = isAdvanceMode(Children, [DropdownMenu.Menu.displayName]);
118
+ var ariaControls = hasMenu ? "igc-".concat(uid, "-list") : "igc-".concat(uid, "-popper");
119
+ return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "getTriggerProps", this).call(this)), {}, {
120
+ onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleKeyDownForMenu("trigger")),
121
+ "aria-controls": visible ? ariaControls : void 0,
122
+ "aria-haspopup": hasMenu ? "true" : "dialog"
118
123
  });
119
124
  }
120
125
  }, {
121
126
  key: "getListProps",
122
- value: function() {
123
- return u(u({}, I(y(t.prototype), "getListProps", this).call(this)), {}, {
124
- onKeyDown: E(this.handlePreventCommonKeyDown.bind(this), this.handleKeyDownForMenu("list"), this.handleArrowKeyDown.bind(this))
127
+ value: function getListProps() {
128
+ return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "getListProps", this).call(this)), {}, {
129
+ onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handleKeyDownForMenu("list"), this.handleArrowKeyDown.bind(this))
125
130
  });
126
131
  }
127
132
  }, {
128
133
  key: "getPopperProps",
129
- value: function() {
130
- return u(u({}, I(y(t.prototype), "getPopperProps", this).call(this)), {}, {
131
- onKeyDown: E(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this))
134
+ value: function getPopperProps() {
135
+ return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "getPopperProps", this).call(this)), {}, {
136
+ onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this))
132
137
  });
133
138
  }
134
139
  }, {
135
140
  key: "getActionsProps",
136
- value: function() {
137
- return u(u({}, this.getListProps()), {}, {
141
+ value: function getActionsProps() {
142
+ return _objectSpread(_objectSpread({}, this.getListProps()), {}, {
138
143
  ref: this.actionsRef,
139
- onKeyDown: E(this.handlePreventTabOnActions.bind(this), this.handlePreventCommonKeyDown.bind(this), this.handleKeyDownForMenu("list"), this.handleArrowKeyDown.bind(this))
144
+ onKeyDown: callAllEventHandlers(this.handlePreventTabOnActions.bind(this), this.handlePreventCommonKeyDown.bind(this), this.handleKeyDownForMenu("list"), this.handleArrowKeyDown.bind(this))
140
145
  });
141
146
  }
142
147
  }, {
143
148
  key: "getItemProps",
144
- value: function(r, o) {
145
- var e, s = this, d = this.asProps, l = d.highlightedIndex, m = d.visible, g = (e = r.index) !== null && e !== void 0 ? e : o, p = g === l, c = u(u({}, I(y(t.prototype), "getItemProps", this).call(this, r, g)), {}, {
146
- tabIndex: p && m ? 0 : -1,
147
- ref: function(w) {
148
- return s.itemRef(r, g, w);
149
+ value: function getItemProps(props, index) {
150
+ var _props$index, _this3 = this;
151
+ var _this$asProps2 = this.asProps, highlightedIndex = _this$asProps2.highlightedIndex, visible = _this$asProps2.visible;
152
+ var realIndex = (_props$index = props.index) !== null && _props$index !== void 0 ? _props$index : index;
153
+ var isHighlighted = realIndex === highlightedIndex;
154
+ var itemProps = _objectSpread(_objectSpread({}, _get(_getPrototypeOf(DropdownMenuRoot2.prototype), "getItemProps", this).call(this, props, realIndex)), {}, {
155
+ tabIndex: isHighlighted && visible ? 0 : -1,
156
+ ref: function ref(node) {
157
+ return _this3.itemRef(props, realIndex, node);
149
158
  },
150
159
  actionsRef: this.actionsRef
151
160
  });
152
- if (r.tag === ce) {
153
- var f, b, S;
154
- c.use = (f = r.use) !== null && f !== void 0 ? f : "tertiary", c.theme = (b = r.theme) !== null && b !== void 0 ? b : "muted", c.size = (S = r.size) !== null && S !== void 0 ? S : "s";
161
+ if (props.tag === ButtonComponent) {
162
+ var _props$use, _props$theme, _props$size;
163
+ itemProps.use = (_props$use = props.use) !== null && _props$use !== void 0 ? _props$use : "tertiary";
164
+ itemProps.theme = (_props$theme = props.theme) !== null && _props$theme !== void 0 ? _props$theme : "muted";
165
+ itemProps.size = (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : "s";
155
166
  }
156
- return r.selected && (c["aria-checked"] = !0), I(y(t.prototype), "childRole", this) === "menuitemradio" && (c.onClick = function() {
157
- s.handlers.visible(!1);
158
- }), c;
167
+ if (props.selected) {
168
+ itemProps["aria-checked"] = true;
169
+ }
170
+ if (_get(_getPrototypeOf(DropdownMenuRoot2.prototype), "childRole", this) === "menuitemradio") {
171
+ itemProps.onClick = function() {
172
+ _this3.handlers.visible(false);
173
+ };
174
+ }
175
+ return itemProps;
159
176
  }
160
177
  }, {
161
178
  key: "handleKeyDownForMenu",
162
- value: function(r) {
163
- var o = this;
179
+ value: function handleKeyDownForMenu(place) {
180
+ var _this4 = this;
164
181
  return function(e) {
165
- var s, d, l = o.asProps, m = l.visible, g = l.placement, p = l.inlineActions;
166
- if (r === "list" && !((s = o.menuRef.current) !== null && s !== void 0 && s.contains(e.target)) && !p)
167
- return e.stopPropagation(), !1;
168
- var c = e.key === "ArrowRight" && (g == null ? void 0 : g.startsWith("right")) || e.key === "ArrowLeft" && (g == null ? void 0 : g.startsWith("left")), f = e.key === "ArrowLeft" && (g == null ? void 0 : g.startsWith("right")) || e.key === "ArrowRight" && (g == null ? void 0 : g.startsWith("left")) || e.key === "Escape", b = (d = e.target.getAttribute("role")) === null || d === void 0 ? void 0 : d.startsWith(I(y(t.prototype), "childRole", o));
169
- if (r === "trigger" && (!m || p) && c && b)
170
- return o.handlers.visible(!0), o.handlers.highlightedIndex(0), setTimeout(function() {
171
- var j, w = o.asProps.highlightedIndex;
172
- (j = o.itemRefs[w]) === null || j === void 0 || j.focus();
173
- }, 0), e.preventDefault(), e.stopPropagation(), !1;
174
- if (r === "list" && m && f && b && (!p || p && (e.key === "Escape" || o.asProps.highlightedIndex === 0))) {
175
- var S;
176
- return o.handlers.visible(!1), (S = o.triggerRef.current) === null || S === void 0 || S.focus(), e.preventDefault(), e.stopPropagation(), !1;
182
+ var _this4$menuRef$curren, _e$target$getAttribut;
183
+ var _this4$asProps = _this4.asProps, visible = _this4$asProps.visible, placement = _this4$asProps.placement, inlineActions = _this4$asProps.inlineActions;
184
+ if (place === "list" && !((_this4$menuRef$curren = _this4.menuRef.current) !== null && _this4$menuRef$curren !== void 0 && _this4$menuRef$curren.contains(e.target)) && !inlineActions) {
185
+ e.stopPropagation();
186
+ return false;
187
+ }
188
+ var show = e.key === "ArrowRight" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("right")) || e.key === "ArrowLeft" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("left"));
189
+ var hide = e.key === "ArrowLeft" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("right")) || e.key === "ArrowRight" && (placement === null || placement === void 0 ? void 0 : placement.startsWith("left")) || e.key === "Escape";
190
+ var isMenuItem = (_e$target$getAttribut = e.target.getAttribute("role")) === null || _e$target$getAttribut === void 0 ? void 0 : _e$target$getAttribut.startsWith(_get(_getPrototypeOf(DropdownMenuRoot2.prototype), "childRole", _this4));
191
+ if (place === "trigger" && (!visible || inlineActions) && show && isMenuItem) {
192
+ _this4.handlers.visible(true);
193
+ _this4.handlers.highlightedIndex(0);
194
+ setTimeout(function() {
195
+ var _this4$itemRefs$highl;
196
+ var highlightedIndex = _this4.asProps.highlightedIndex;
197
+ (_this4$itemRefs$highl = _this4.itemRefs[highlightedIndex]) === null || _this4$itemRefs$highl === void 0 ? void 0 : _this4$itemRefs$highl.focus();
198
+ }, 0);
199
+ e.preventDefault();
200
+ e.stopPropagation();
201
+ return false;
202
+ }
203
+ if (place === "list" && visible && hide && isMenuItem) {
204
+ if (!inlineActions || inlineActions && (e.key === "Escape" || _this4.asProps.highlightedIndex === 0)) {
205
+ var _this4$triggerRef$cur;
206
+ _this4.handlers.visible(false);
207
+ (_this4$triggerRef$cur = _this4.triggerRef.current) === null || _this4$triggerRef$cur === void 0 ? void 0 : _this4$triggerRef$cur.focus();
208
+ e.preventDefault();
209
+ e.stopPropagation();
210
+ return false;
211
+ }
177
212
  }
178
213
  };
179
214
  }
180
215
  }, {
181
216
  key: "handlePreventTabOnActions",
182
- value: function(r) {
183
- if (r.key === "Tab")
184
- return r.stopPropagation(), r.preventDefault(), !1;
217
+ value: function handlePreventTabOnActions(e) {
218
+ if (e.key === "Tab") {
219
+ e.stopPropagation();
220
+ e.preventDefault();
221
+ return false;
222
+ }
185
223
  }
186
224
  }, {
187
225
  key: "render",
188
- value: function() {
189
- var r = this.asProps, o = this.asProps, e = o.Children, s = o.selectedIndex, d = o.interaction, l = o.timeout;
190
- return this.itemProps = [], /* @__PURE__ */ i.createElement(q.Provider, {
191
- value: s
192
- }, /* @__PURE__ */ i.createElement(D, h({
193
- timeout: l || (d === "hover" ? [0, 100] : void 0)
194
- }, r), /* @__PURE__ */ i.createElement(e, null)));
226
+ value: function render() {
227
+ var _ref = this.asProps;
228
+ var _this$asProps3 = this.asProps, Children = _this$asProps3.Children, selectedIndex = _this$asProps3.selectedIndex, interaction = _this$asProps3.interaction, timeout = _this$asProps3.timeout;
229
+ this.itemProps = [];
230
+ return /* @__PURE__ */ React.createElement(selectedIndexContext.Provider, {
231
+ value: selectedIndex
232
+ }, /* @__PURE__ */ React.createElement(Dropdown, assignProps({
233
+ "timeout": timeout || (interaction === "hover" ? [0, 100] : void 0)
234
+ }, _ref), /* @__PURE__ */ React.createElement(Children, null)));
195
235
  }
196
- }]), t;
197
- }(_e);
198
- C(M, "displayName", "DropdownMenu");
199
- C(M, "style", pe);
200
- C(M, "enhance", Object.values(ae));
201
- C(M, "defaultProps", {
236
+ }]);
237
+ return DropdownMenuRoot2;
238
+ }(AbstractDropdown);
239
+ _defineProperty(DropdownMenuRoot, "displayName", "DropdownMenu");
240
+ _defineProperty(DropdownMenuRoot, "style", style);
241
+ _defineProperty(DropdownMenuRoot, "enhance", Object.values(enhance));
242
+ _defineProperty(DropdownMenuRoot, "defaultProps", {
202
243
  size: "m",
203
- defaultVisible: !1,
244
+ defaultVisible: false,
204
245
  defaultHighlightedIndex: 0,
205
246
  defaultSelectedIndex: 0,
206
- i18n: ge,
247
+ i18n: localizedMessages,
207
248
  locale: "en",
208
249
  interaction: "click",
209
- inlineActions: !1,
250
+ inlineActions: false,
210
251
  placement: "bottom-start",
211
252
  timeout: 0
212
253
  });
213
- C(M, "nestedMenuInteraction", {
254
+ _defineProperty(DropdownMenuRoot, "nestedMenuInteraction", {
214
255
  trigger: [["onClick", "onMouseEnter"], ["onClick", "onMouseLeave"]],
215
256
  popper: [["onMouseEnter"], ["onMouseLeave"]]
216
257
  });
217
- function fe(n) {
218
- var _ = arguments[0], t, a = n.styles, r = n.Children, o = k;
219
- return t = x(a), /* @__PURE__ */ i.createElement(U, t.cn("ListBoxContextProvider", {}), /* @__PURE__ */ i.createElement(o, t.cn("SDropdownMenuList", u({}, h({
220
- shadow: !0
221
- }, _))), /* @__PURE__ */ i.createElement(k.Container, {
258
+ function List(_ref23) {
259
+ var _ref2 = arguments[0], _ref14;
260
+ var styles = _ref23.styles, Children = _ref23.Children;
261
+ var SDropdownMenuList = ScrollAreaComponent;
262
+ return _ref14 = sstyled$1(styles), /* @__PURE__ */ React.createElement(ListBoxContextProvider, _ref14.cn("ListBoxContextProvider", {}), /* @__PURE__ */ React.createElement(SDropdownMenuList, _ref14.cn("SDropdownMenuList", _objectSpread({}, assignProps({
263
+ "shadow": true
264
+ }, _ref2))), /* @__PURE__ */ React.createElement(ScrollAreaComponent.Container, {
222
265
  tabIndex: void 0
223
- }, /* @__PURE__ */ i.createElement(r, t.cn("Children", {}))), /* @__PURE__ */ i.createElement(k.Bar, {
266
+ }, /* @__PURE__ */ React.createElement(Children, _ref14.cn("Children", {}))), /* @__PURE__ */ React.createElement(ScrollAreaComponent.Bar, {
224
267
  orientation: "horizontal"
225
- }), /* @__PURE__ */ i.createElement(k.Bar, {
268
+ }), /* @__PURE__ */ React.createElement(ScrollAreaComponent.Bar, {
226
269
  orientation: "vertical"
227
270
  })));
228
271
  }
229
- function ve(n) {
230
- var _ = arguments[0], t, a = n.styles, r = N;
231
- return t = x(a), /* @__PURE__ */ i.createElement(r, t.cn("SDropdownMenuActions", u({}, h({}, _))));
272
+ function Actions(_ref24) {
273
+ var _ref3 = arguments[0], _ref15;
274
+ var styles = _ref24.styles;
275
+ var SDropdownMenuActions = Flex;
276
+ return _ref15 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SDropdownMenuActions, _ref15.cn("SDropdownMenuActions", _objectSpread({}, assignProps({}, _ref3))));
232
277
  }
233
- function be(n) {
234
- var _ = arguments[0], t = n.visible, a = n.disablePortal, r = n.ignorePortalsStacking, o = n.disableEnforceFocus, e = n.interaction, s = n.autoFocus, d = n.animationsDisabled, l = {
235
- visible: t,
236
- disablePortal: a,
237
- ignorePortalsStacking: r,
238
- disableEnforceFocus: o,
239
- interaction: e,
240
- autoFocus: s,
241
- animationsDisabled: d
278
+ function Menu(props) {
279
+ var _ref4 = arguments[0];
280
+ var visible = props.visible, disablePortal = props.disablePortal, ignorePortalsStacking = props.ignorePortalsStacking, disableEnforceFocus = props.disableEnforceFocus, interaction = props.interaction, autoFocus = props.autoFocus, animationsDisabled = props.animationsDisabled;
281
+ var popperProps = {
282
+ visible,
283
+ disablePortal,
284
+ ignorePortalsStacking,
285
+ disableEnforceFocus,
286
+ interaction,
287
+ autoFocus,
288
+ animationsDisabled
242
289
  };
243
- return /* @__PURE__ */ i.createElement(U, null, /* @__PURE__ */ i.createElement(v.Popper, W({}, l, {
290
+ return /* @__PURE__ */ React.createElement(ListBoxContextProvider, null, /* @__PURE__ */ React.createElement(DropdownMenu.Popper, _extends({}, popperProps, {
244
291
  role: null
245
- }), /* @__PURE__ */ i.createElement(v.List, h({}, _))));
292
+ }), /* @__PURE__ */ React.createElement(DropdownMenu.List, assignProps({}, _ref4))));
246
293
  }
247
- function Se(n) {
248
- var _ = arguments[0], t, a = n.id, r = n.styles, o = n.disabled, e = n.Children, s = n.forwardRef, d = n.role, l = n.tabIndex, m = n.actionsRef, g = n["aria-checked"], p = D.Item, c = i.useRef(), f = i.useState(!1), b = T(f, 2), S = b[0], j = b[1], w = {
249
- contentId: a,
250
- ref: G(s, c),
251
- role: d,
252
- tabIndex: l,
253
- ariaChecked: g
254
- }, H = [], L = A(e, [v.displayName], !0), K = A(e, [v.Item.Hint.displayName], !0), P = A(e, [v.Item.Content.displayName], !0) || L || K;
255
- if (K) {
256
- var F = "igc-".concat(le(), "-option-hint");
257
- w.hintId = F, H.push(F);
294
+ function Item(_ref25) {
295
+ var _ref5 = arguments[0], _ref16;
296
+ var id = _ref25.id, styles = _ref25.styles, disabled = _ref25.disabled, Children = _ref25.Children, forwardRef = _ref25.forwardRef, role = _ref25.role, tabIndex = _ref25.tabIndex, actionsRef = _ref25.actionsRef, ariaChecked = _ref25["aria-checked"];
297
+ var SDropdownMenuItemContainer = Dropdown.Item;
298
+ var itemRef = React.useRef();
299
+ var _React$useState = React.useState(false), _React$useState2 = _slicedToArray(_React$useState, 2), highlighted = _React$useState2[0], setHighlighted = _React$useState2[1];
300
+ var menuItemContextValue = {
301
+ contentId: id,
302
+ ref: forkRef(forwardRef, itemRef),
303
+ role,
304
+ tabIndex,
305
+ ariaChecked
306
+ };
307
+ var ariaDescribes = [];
308
+ var hasSubMenu = isAdvanceMode(Children, [DropdownMenu.displayName], true);
309
+ var hasHint = isAdvanceMode(Children, [DropdownMenu.Item.Hint.displayName], true);
310
+ var advancedMode = isAdvanceMode(Children, [DropdownMenu.Item.Content.displayName], true) || hasSubMenu || hasHint;
311
+ if (hasHint) {
312
+ var hintId = "igc-".concat(useUID(), "-option-hint");
313
+ menuItemContextValue.hintId = hintId;
314
+ ariaDescribes.push(hintId);
258
315
  }
259
- L && (w.hasSubMenu = !0), w.ariaDescribes = H, i.useEffect(function() {
260
- var B = function(R) {
261
- R.target === c.current && (j(!0), L && R.stopPropagation());
262
- }, $ = function(R) {
263
- R.target === c.current && (j(!1), m.current && (c.current.tabIndex = -1));
316
+ if (hasSubMenu) {
317
+ menuItemContextValue.hasSubMenu = true;
318
+ }
319
+ menuItemContextValue.ariaDescribes = ariaDescribes;
320
+ React.useEffect(function() {
321
+ var onFocus = function onFocus2(e) {
322
+ if (e.target === itemRef.current) {
323
+ setHighlighted(true);
324
+ if (hasSubMenu) {
325
+ e.stopPropagation();
326
+ }
327
+ }
328
+ };
329
+ var onBlur = function onBlur2(e) {
330
+ if (e.target === itemRef.current) {
331
+ setHighlighted(false);
332
+ if (actionsRef.current) {
333
+ itemRef.current.tabIndex = -1;
334
+ }
335
+ }
264
336
  };
265
- return document.addEventListener("focus", B, {
266
- capture: !0
267
- }), document.addEventListener("blur", $, {
268
- capture: !0
269
- }), function() {
270
- document.removeEventListener("focus", B, {
271
- capture: !0
272
- }), document.removeEventListener("blur", $, {
273
- capture: !0
337
+ document.addEventListener("focus", onFocus, {
338
+ capture: true
339
+ });
340
+ document.addEventListener("blur", onBlur, {
341
+ capture: true
342
+ });
343
+ return function() {
344
+ document.removeEventListener("focus", onFocus, {
345
+ capture: true
346
+ });
347
+ document.removeEventListener("blur", onBlur, {
348
+ capture: true
274
349
  });
275
350
  };
276
- }, [c.current]);
277
- var J = ue();
278
- return t = x(r), /* @__PURE__ */ i.createElement(z.Provider, {
279
- value: w
280
- }, /* @__PURE__ */ i.createElement(p, t.cn("SDropdownMenuItemContainer", u({}, h({
281
- ref: P ? void 0 : w.ref,
282
- "use:highlighted": !o && S && J.current === "keyboard",
283
- "use:role": P ? void 0 : d,
284
- "use:id": P ? void 0 : a,
285
- "use:tabIndex": P ? void 0 : l,
286
- "use:aria-checked": P ? void 0 : g
287
- }, _))), /* @__PURE__ */ i.createElement(e, t.cn("Children", {}))));
351
+ }, [itemRef.current]);
352
+ var focusSourceRef = useFocusSource();
353
+ return _ref16 = sstyled$1(styles), /* @__PURE__ */ React.createElement(menuItemContext.Provider, {
354
+ value: menuItemContextValue
355
+ }, /* @__PURE__ */ React.createElement(SDropdownMenuItemContainer, _ref16.cn("SDropdownMenuItemContainer", _objectSpread({}, assignProps({
356
+ "ref": advancedMode ? void 0 : menuItemContextValue.ref,
357
+ "use:highlighted": !disabled && highlighted && focusSourceRef.current === "keyboard",
358
+ "use:role": advancedMode ? void 0 : role,
359
+ "use:id": advancedMode ? void 0 : id,
360
+ "use:tabIndex": advancedMode ? void 0 : tabIndex,
361
+ "use:aria-checked": advancedMode ? void 0 : ariaChecked
362
+ }, _ref5))), /* @__PURE__ */ React.createElement(Children, _ref16.cn("Children", {}))));
288
363
  }
289
- function O(n) {
290
- var _ = se(n, n.forwardRef), t = T(_, 2), a = t[0], r = t[1], o = r.className, e = Y(r, he), s = x(n.styles);
291
- return /* @__PURE__ */ i.createElement(a, W({
292
- className: ie(s.cn("SDropdownMenuItemAddon", n).className, o) || void 0
293
- }, e));
364
+ function Addon(props) {
365
+ var _useBox = useBox(props, props.forwardRef), _useBox2 = _slicedToArray(_useBox, 2), SDropdownMenuItemAddon = _useBox2[0], _useBox2$ = _useBox2[1], className = _useBox2$.className, other = _objectWithoutProperties(_useBox2$, _excluded);
366
+ var styles = sstyled$1(props.styles);
367
+ return /* @__PURE__ */ React.createElement(SDropdownMenuItemAddon, _extends({
368
+ className: cn(styles.cn("SDropdownMenuItemAddon", props).className, className) || void 0
369
+ }, other));
294
370
  }
295
- function we() {
296
- var n = arguments[0];
297
- return /* @__PURE__ */ i.createElement(D.Trigger, h({}, n));
371
+ function Trigger() {
372
+ var _ref6 = arguments[0];
373
+ return /* @__PURE__ */ React.createElement(Dropdown.Trigger, assignProps({}, _ref6));
298
374
  }
299
- function Ie(n) {
300
- var _ = arguments[0], t, a = n.styles, r = N, o = i.useRef(), e = i.useContext(z), s = void 0;
301
- e.hasSubMenu && (s = "true");
302
- var d = i.useState(new Set(e.ariaDescribes)), l = T(d, 2), m = l[0], g = l[1];
303
- return i.useEffect(function() {
304
- var p = o.current, c = p == null ? void 0 : p.parentElement;
305
- c.getAttribute("aria-haspopup") === "true" && c.getAttribute("aria-describedby") && g(function(f) {
306
- return f.add(c.getAttribute("aria-describedby")), new Set(f);
307
- });
308
- }, [e.ariaDescribes]), t = x(a), /* @__PURE__ */ i.createElement(r, t.cn("SItemContent", u({}, h({
309
- role: e.role,
310
- id: e.contentId,
311
- tabIndex: e.tabIndex,
312
- ref: G(e.ref, o),
313
- "use:aria-describedby": X(m).join(" "),
314
- "aria-haspopup": e.hasSubMenu ? "true" : void 0,
315
- "aria-expanded": s,
316
- "aria-checked": e.ariaChecked,
317
- alignItems: "center",
318
- justifyContent: e.hasSubMenu ? "space-between" : void 0
319
- }, _))));
375
+ function ItemContent(_ref26) {
376
+ var _ref7 = arguments[0], _ref17;
377
+ var styles = _ref26.styles;
378
+ var SItemContent = Flex;
379
+ var ref = React.useRef();
380
+ var menuItemCtxValue = React.useContext(menuItemContext);
381
+ var subMenu = void 0;
382
+ if (menuItemCtxValue.hasSubMenu) {
383
+ subMenu = "true";
384
+ }
385
+ var _React$useState3 = React.useState(new Set(menuItemCtxValue.ariaDescribes)), _React$useState4 = _slicedToArray(_React$useState3, 2), describedby = _React$useState4[0], setDescribedby = _React$useState4[1];
386
+ React.useEffect(function() {
387
+ var element = ref.current;
388
+ var parent = element === null || element === void 0 ? void 0 : element.parentElement;
389
+ if (parent.getAttribute("aria-haspopup") === "true" && parent.getAttribute("aria-describedby")) {
390
+ setDescribedby(function(prev) {
391
+ prev.add(parent.getAttribute("aria-describedby"));
392
+ return new Set(prev);
393
+ });
394
+ }
395
+ }, [menuItemCtxValue.ariaDescribes]);
396
+ return _ref17 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SItemContent, _ref17.cn("SItemContent", _objectSpread({}, assignProps({
397
+ "role": menuItemCtxValue.role,
398
+ "id": menuItemCtxValue.contentId,
399
+ "tabIndex": menuItemCtxValue.tabIndex,
400
+ "ref": forkRef(menuItemCtxValue.ref, ref),
401
+ "use:aria-describedby": _toConsumableArray(describedby).join(" "),
402
+ "aria-haspopup": menuItemCtxValue.hasSubMenu ? "true" : void 0,
403
+ "aria-expanded": subMenu,
404
+ "aria-checked": menuItemCtxValue.ariaChecked,
405
+ "alignItems": "center",
406
+ "justifyContent": menuItemCtxValue.hasSubMenu ? "space-between" : void 0
407
+ }, _ref7))));
320
408
  }
321
- function ye(n) {
322
- var _ = arguments[0], t, a = n.styles, r = me;
323
- return t = x(a), /* @__PURE__ */ i.createElement(r, t.cn("SItemContentText", u({}, h({}, _))));
409
+ function ItemContentText(_ref27) {
410
+ var _ref8 = arguments[0], _ref18;
411
+ var styles = _ref27.styles;
412
+ var SItemContentText = Text;
413
+ return _ref18 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SItemContentText, _ref18.cn("SItemContentText", _objectSpread({}, assignProps({}, _ref8))));
324
414
  }
325
- function xe(n) {
326
- var _ = arguments[0], t, a = n.styles, r = N, o = i.useContext(z), e = o.hintId;
327
- return t = x(a), /* @__PURE__ */ i.createElement(r, t.cn("SItemHint", u({}, h({
328
- id: e,
415
+ function ItemHint(_ref28) {
416
+ var _ref9 = arguments[0], _ref19;
417
+ var styles = _ref28.styles;
418
+ var SItemHint = Flex;
419
+ var _React$useContext = React.useContext(menuItemContext), hintId = _React$useContext.hintId;
420
+ return _ref19 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SItemHint, _ref19.cn("SItemHint", _objectSpread({}, assignProps({
421
+ "id": hintId,
329
422
  "aria-hidden": "true"
330
- }, _))));
423
+ }, _ref9))));
331
424
  }
332
- function De(n) {
333
- var _ = arguments[0], t, a = D.Item;
334
- return t = x(n.styles), /* @__PURE__ */ i.createElement(a, t.cn("SDropdownMenuItemContainer", u({}, h({
335
- variant: "hint"
336
- }, _))));
425
+ function Hint(props) {
426
+ var _ref10 = arguments[0], _ref20;
427
+ var SDropdownMenuItemContainer = Dropdown.Item;
428
+ return _ref20 = sstyled$1(props.styles), /* @__PURE__ */ React.createElement(SDropdownMenuItemContainer, _ref20.cn("SDropdownMenuItemContainer", _objectSpread({}, assignProps({
429
+ "variant": "hint"
430
+ }, _ref10))));
337
431
  }
338
- function je(n) {
339
- var _ = arguments[0], t, a = D.Item;
340
- return t = x(n.styles), /* @__PURE__ */ i.createElement(a, t.cn("SDropdownMenuItemContainer", u({}, h({
341
- variant: "title"
342
- }, _))));
432
+ function Title(props) {
433
+ var _ref11 = arguments[0], _ref21;
434
+ var SDropdownMenuItemContainer = Dropdown.Item;
435
+ return _ref21 = sstyled$1(props.styles), /* @__PURE__ */ React.createElement(SDropdownMenuItemContainer, _ref21.cn("SDropdownMenuItemContainer", _objectSpread({}, assignProps({
436
+ "variant": "title"
437
+ }, _ref11))));
343
438
  }
344
- function Ce(n) {
345
- var _ = arguments[0], t = n.forwardRef;
346
- return /* @__PURE__ */ i.createElement(v.Item, h({
347
- ref: t
348
- }, _));
439
+ function Nesting(_ref29) {
440
+ var _ref12 = arguments[0];
441
+ var forwardRef = _ref29.forwardRef;
442
+ return /* @__PURE__ */ React.createElement(DropdownMenu.Item, assignProps({
443
+ "ref": forwardRef
444
+ }, _ref12));
349
445
  }
350
- function Me(n) {
351
- var _ = arguments[0], t = n.forwardRef;
352
- return /* @__PURE__ */ i.createElement(v.Item.Content, h({
353
- tag: v.Trigger,
354
- ref: t,
446
+ function NestingTrigger(_ref30) {
447
+ var _ref13 = arguments[0];
448
+ var forwardRef = _ref30.forwardRef;
449
+ return /* @__PURE__ */ React.createElement(DropdownMenu.Item.Content, assignProps({
450
+ "tag": DropdownMenu.Trigger,
451
+ "ref": forwardRef,
355
452
  "use:role": "menuitem"
356
- }, _));
453
+ }, _ref13));
357
454
  }
358
- var v = oe(M, {
359
- Trigger: we,
360
- Popper: D.Popper,
361
- List: fe,
362
- Actions: ve,
363
- Menu: be,
364
- Item: [Se, {
365
- Addon: O,
366
- Content: Ie,
367
- Text: ye,
368
- Hint: xe
455
+ var DropdownMenu = createComponent(DropdownMenuRoot, {
456
+ Trigger,
457
+ Popper: Dropdown.Popper,
458
+ List,
459
+ Actions,
460
+ Menu,
461
+ Item: [Item, {
462
+ Addon,
463
+ Content: ItemContent,
464
+ Text: ItemContentText,
465
+ Hint: ItemHint
369
466
  }],
370
467
  /**
371
468
  * @deprecated. Use just Item. See examples on
372
469
  */
373
- Nesting: [Ce, {
374
- Trigger: Me,
375
- Addon: O
470
+ Nesting: [Nesting, {
471
+ Trigger: NestingTrigger,
472
+ Addon
376
473
  }],
377
- ItemTitle: je,
378
- ItemHint: De,
379
- Group: D.Group
474
+ ItemTitle: Title,
475
+ ItemHint: Hint,
476
+ Group: Dropdown.Group
380
477
  }, {
381
- parent: [D]
478
+ parent: [Dropdown]
382
479
  });
383
- v.selectedIndexContext = q;
480
+ DropdownMenu.selectedIndexContext = selectedIndexContext;
384
481
  export {
385
- v as default
482
+ DropdownMenu as default
386
483
  };