@atlaskit/side-nav-items 1.13.8 → 1.13.9

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 (25) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +0 -2
  3. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +3 -7
  4. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +26 -29
  5. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +2 -7
  6. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item.js +7 -10
  7. package/dist/cjs/ui/menu-item/menu-item.compiled.css +0 -6
  8. package/dist/cjs/ui/menu-item/menu-item.js +4 -14
  9. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +0 -2
  10. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +4 -8
  11. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +26 -29
  12. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +2 -7
  13. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item.js +7 -10
  14. package/dist/es2019/ui/menu-item/menu-item.compiled.css +0 -6
  15. package/dist/es2019/ui/menu-item/menu-item.js +3 -13
  16. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +0 -2
  17. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +4 -8
  18. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +26 -29
  19. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +2 -7
  20. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item.js +7 -10
  21. package/dist/esm/ui/menu-item/menu-item.compiled.css +0 -6
  22. package/dist/esm/ui/menu-item/menu-item.js +3 -13
  23. package/dist/types/ui/menu-item/menu-item.d.ts +1 -2
  24. package/dist/types-ts4.5/ui/menu-item/menu-item.d.ts +1 -2
  25. package/package.json +5 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/side-nav-items
2
2
 
3
+ ## 1.13.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [`cc4a66306965d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cc4a66306965d) -
8
+ Cleanup feature gate `platform_dst_nav4_flyout_menu_slots_close_button`. Flyout menu slot
9
+ subcomponents (header, body, footer) and close button are now permanently enabled.
10
+ - Updated dependencies
11
+
3
12
  ## 1.13.8
4
13
 
5
14
  ### Patch Changes
@@ -4,13 +4,11 @@
4
4
  ._1ddp1txw:has([aria-expanded=true][aria-haspopup]){--expandable-chevron-display:flex}
5
5
  ._1e0c1xb2{display:var(--expandable-provided-elembefore-display)}
6
6
  ._1e0ciw0t{display:var(--expandable-chevron-display)}
7
- ._1hl9glyw:has([aria-expanded=true][aria-haspopup=true]){--expandable-provided-elembefore-display:none}
8
7
  ._1mmi1txw{--expandable-chevron-display:flex}
9
8
  ._1mmiglyw{--expandable-chevron-display:none}
10
9
  ._b31z1txw:has(:focus-visible){--expandable-chevron-display:flex}
11
10
  ._pnu5glyw:has([aria-expanded=true][aria-haspopup]){--expandable-provided-elembefore-display:none}
12
11
  ._syazxl6c{color:var(--ds-icon-selected,#1868db)}
13
- ._v9u71txw:has([aria-expanded=true][aria-haspopup=true]){--expandable-chevron-display:flex}
14
12
  [dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
15
13
  ._1vnl1txw:hover{--expandable-chevron-display:flex}
16
14
  ._p8btglyw:hover{--expandable-provided-elembefore-display:none}
@@ -15,7 +15,6 @@ var _new = require("@atlaskit/button/new");
15
15
  var _forwardRefWithGeneric = _interopRequireDefault(require("@atlaskit/ds-lib/forward-ref-with-generic"));
16
16
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down"));
17
17
  var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right"));
18
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
19
18
  var _menuItem = require("../menu-item");
20
19
  var _useScrollMenuItemIntoView = require("../use-scroll-menu-item-into-view");
21
20
  var _expandableMenuItemContext = require("./expandable-menu-item-context");
@@ -25,14 +24,11 @@ var chevronDisplayCssVar = '--expandable-chevron-display';
25
24
  var providedElemBeforeDisplayCssVar = '--expandable-provided-elembefore-display';
26
25
  var wrapperStyles = {
27
26
  root: "_1mmi1txw _165nglyw",
28
- showProvidedElemBefore: "_1mmiglyw _165n1bgi _v9u71txw _1hl9glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
29
- };
30
- var nestedOpenPopupStylesOld = {
31
- showProvidedElemBefore: "_v9u71txw _1hl9glyw"
27
+ showProvidedElemBefore: "_1mmiglyw _165n1bgi _1ddp1txw _pnu5glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
32
28
  };
33
29
 
34
30
  // Merge back into the `wrapperStyles` after cleanup
35
- var nestedOpenPopupStylesNew = {
31
+ var nestedOpenPopupStyles = {
36
32
  showProvidedElemBefore: "_1ddp1txw _pnu5glyw"
37
33
  };
38
34
  var iconStyles = {
@@ -136,7 +132,7 @@ var ExpandableMenuItemTrigger = exports.ExpandableMenuItemTrigger = (0, _forward
136
132
  // For expandable menu items, we shouldn't wrap in a `li` here. The `li` is instead at a higher level (`ExpandableMenuItem`), grouping the expandable menu item trigger and its content
137
133
  return /*#__PURE__*/_react.default.createElement("div", {
138
134
  ref: itemRef,
139
- className: (0, _runtime.ax)([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore, (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? nestedOpenPopupStylesNew.showProvidedElemBefore : nestedOpenPopupStylesOld.showProvidedElemBefore])
135
+ className: (0, _runtime.ax)([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore, nestedOpenPopupStyles.showProvidedElemBefore])
140
136
  }, /*#__PURE__*/_react.default.createElement(_menuItem.MenuItemBase, {
141
137
  id: id,
142
138
  actions: actions,
@@ -14,7 +14,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _analyticsNext = require("@atlaskit/analytics-next");
16
16
  var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
17
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
17
  var _experimental = require("@atlaskit/popup/experimental");
19
18
  var _flyoutMenuItemContext = require("./flyout-menu-item-context");
20
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
@@ -71,33 +70,31 @@ var FlyoutMenuItemContent = exports.FlyoutMenuItemContent = /*#__PURE__*/(0, _re
71
70
  // handleClose function, or passed in as a parameter in FlyoutMenuItemTrigger (outside-click),
72
71
  // or FlyoutHeader (close-button).
73
72
  var handleClose = (0, _react.useCallback)(function (event, source) {
74
- if ((0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button')) {
75
- // Use the passed source if provided, otherwise determine from event
76
- var determinedSource = source || 'other';
77
- if (!source) {
78
- if (event instanceof KeyboardEvent) {
79
- var keyboardEvent = event;
80
- if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
81
- determinedSource = 'escape-key';
82
- }
83
- } else if (event instanceof MouseEvent) {
84
- if (event && 'type' in event && event.type === 'click') {
85
- determinedSource = 'outside-click';
86
- }
73
+ // Use the passed source if provided, otherwise determine from event
74
+ var determinedSource = source || 'other';
75
+ if (!source) {
76
+ if (event instanceof KeyboardEvent) {
77
+ var keyboardEvent = event;
78
+ if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
79
+ determinedSource = 'escape-key';
87
80
  }
88
- }
89
-
90
- // When flyout menu is closed, fire analytics event
91
- var navigationAnalyticsEvent = createAnalyticsEvent({
92
- source: 'sideNav',
93
- actionSubject: 'flyoutMenu',
94
- action: 'closed',
95
- attributes: {
96
- closeSource: determinedSource
81
+ } else if (event instanceof MouseEvent) {
82
+ if (event && 'type' in event && event.type === 'click') {
83
+ determinedSource = 'outside-click';
97
84
  }
98
- });
99
- navigationAnalyticsEvent.fire('navigation');
85
+ }
100
86
  }
87
+
88
+ // When flyout menu is closed, fire analytics event
89
+ var navigationAnalyticsEvent = createAnalyticsEvent({
90
+ source: 'sideNav',
91
+ actionSubject: 'flyoutMenu',
92
+ action: 'closed',
93
+ attributes: {
94
+ closeSource: determinedSource
95
+ }
96
+ });
97
+ navigationAnalyticsEvent.fire('navigation');
101
98
  onClose === null || onClose === void 0 || onClose();
102
99
  setIsOpen(false);
103
100
  }, [setIsOpen, onClose, createAnalyticsEvent]);
@@ -134,8 +131,8 @@ var FlyoutMenuItemContent = exports.FlyoutMenuItemContent = /*#__PURE__*/(0, _re
134
131
  testId: containerTestId,
135
132
  xcss: flyoutMenuItemContentStyles.root,
136
133
  autoFocus: autoFocus,
137
- role: (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined,
138
- titleId: (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? titleId : undefined
134
+ role: "dialog",
135
+ titleId: titleId
139
136
  /**
140
137
  * Disabling GPU acceleration removes the use of `transform` by popper.js for this popup.
141
138
  *
@@ -156,13 +153,13 @@ var FlyoutMenuItemContent = exports.FlyoutMenuItemContent = /*#__PURE__*/(0, _re
156
153
  return /*#__PURE__*/_react.default.createElement(UpdatePopperOnContentResize, {
157
154
  ref: forwardedRef,
158
155
  update: update
159
- }, (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? /*#__PURE__*/_react.default.createElement(_flyoutMenuItemContext.TitleIdContextProvider, {
156
+ }, /*#__PURE__*/_react.default.createElement(_flyoutMenuItemContext.TitleIdContextProvider, {
160
157
  value: titleId
161
158
  }, /*#__PURE__*/_react.default.createElement("div", {
162
159
  style: (0, _defineProperty2.default)({}, maxHeightCssVar, computedMaxHeight),
163
160
  "data-testid": containerTestId ? "".concat(containerTestId, "--container") : undefined,
164
161
  className: (0, _runtime.ax)([flyoutMenuItemContentContainerStyles.container])
165
- }, children)) : children);
162
+ }, children)));
166
163
  });
167
164
  });
168
165
  function createResizeObserver(update) {
@@ -13,7 +13,6 @@ var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
15
15
  var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right"));
16
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
16
  var _experimental = require("@atlaskit/popup/experimental");
18
17
  var _menuItem = require("../menu-item");
19
18
  var _flyoutMenuItemContext = require("./flyout-menu-item-context");
@@ -41,12 +40,8 @@ var FlyoutMenuItemTrigger = exports.FlyoutMenuItemTrigger = /*#__PURE__*/(0, _re
41
40
  var isOpen = (0, _react.useContext)(_flyoutMenuItemContext.IsOpenContext);
42
41
  var onCloseRef = (0, _react.useContext)(_flyoutMenuItemContext.OnCloseContext);
43
42
  var handleClick = (0, _react.useCallback)(function (event, analyticsEvent) {
44
- // If the flyout is open and the trigger is clicked, close the flyout and call the onClick
45
- // handler with the source information set to 'outside-click'.
46
- if ((0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button')) {
47
- if (isOpen && onCloseRef.current) {
48
- onCloseRef.current(event, 'outside-click');
49
- }
43
+ if (isOpen && onCloseRef.current) {
44
+ onCloseRef.current(event, 'outside-click');
50
45
  }
51
46
  onClick === null || onClick === void 0 || onClick(event, analyticsEvent);
52
47
  }, [isOpen, onCloseRef, onClick]);
@@ -11,7 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _analyticsNext = require("@atlaskit/analytics-next");
12
12
  var _useControlled3 = _interopRequireDefault(require("@atlaskit/ds-lib/use-controlled"));
13
13
  var _usePreviousValue = _interopRequireDefault(require("@atlaskit/ds-lib/use-previous-value"));
14
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
14
  var _experimental = require("@atlaskit/popup/experimental");
16
15
  var _menuListItem = require("../menu-list-item");
17
16
  var _flyoutMenuItemContext = require("./flyout-menu-item-context");
@@ -67,14 +66,12 @@ var FlyoutMenuItem = exports.FlyoutMenuItem = /*#__PURE__*/(0, _react.forwardRef
67
66
 
68
67
  // When flyout menu is opened, fire analytics event
69
68
  if (isOpen && previousIsOpen === false) {
70
- if ((0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button')) {
71
- var navigationAnalyticsEvent = createAnalyticsEvent({
72
- source: 'sideNav',
73
- actionSubject: 'flyoutMenu',
74
- action: 'opened'
75
- });
76
- navigationAnalyticsEvent.fire('navigation');
77
- }
69
+ var navigationAnalyticsEvent = createAnalyticsEvent({
70
+ source: 'sideNav',
71
+ actionSubject: 'flyoutMenu',
72
+ action: 'opened'
73
+ });
74
+ navigationAnalyticsEvent.fire('navigation');
78
75
  }
79
76
  onOpenChange === null || onOpenChange === void 0 || onOpenChange(isOpen);
80
77
  }, [isOpen, onOpenChange, previousIsOpen, createAnalyticsEvent]);
@@ -89,6 +86,6 @@ var FlyoutMenuItem = exports.FlyoutMenuItem = /*#__PURE__*/(0, _react.forwardRef
89
86
  }, /*#__PURE__*/_react.default.createElement(_experimental.Popup, {
90
87
  id: id,
91
88
  isOpen: isOpen,
92
- role: (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined
89
+ role: "dialog"
93
90
  }, children)))));
94
91
  });
@@ -22,7 +22,6 @@
22
22
  ._1bsbyh40{width:2px}
23
23
  ._1cykglyw{--drag-handle-display:none}
24
24
  ._1d171wug:has([aria-expanded=true][aria-haspopup]){--actions-on-hover-width:auto}
25
- ._1djyglyw:has([aria-expanded=true][aria-haspopup=true]){--elem-after-display:none}
26
25
  ._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
27
26
  ._1e0c11p5{display:grid}
28
27
  ._1e0c13yo{display:var(--elem-after-display)}
@@ -33,10 +32,7 @@
33
32
  ._1lmcu4vt{grid-template-areas:"elem-before interactive elem-after actions"}
34
33
  ._1o9zidpf{flex-shrink:0}
35
34
  ._1q511b66{padding-block-start:var(--ds-space-050,4px)}
36
- ._1rbv1wug:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-width:auto}
37
35
  ._1reo15vq{overflow-x:hidden}
38
- ._1swv19i6:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-surface-hovered,#f0f1f2)}
39
- ._1swvufnl:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-background-selected-hovered,#cfe1fd)}
40
36
  ._1ul91c9m{min-width:1ch}
41
37
  ._1ul9t9kd{min-width:72px}
42
38
  ._1yyu1j28{--notch-color:transparent}
@@ -63,12 +59,10 @@
63
59
  ._db80idpf{--actions-on-hover-padding:0}
64
60
  ._kqswh2mm{position:relative}
65
61
  ._kqswstnw{position:absolute}
66
- ._kwq51b66:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-padding:var(--ds-space-050,4px)}
67
62
  ._ligh1b66:has([aria-expanded=true][aria-haspopup]){--actions-on-hover-padding:var(--ds-space-050,4px)}
68
63
  ._n3ixglyw:has([aria-expanded=true][aria-haspopup]){--elem-after-display:none}
69
64
  ._pmxp1wug{--actions-on-hover-width:auto}
70
65
  ._pmxpidpf{--actions-on-hover-width:0}
71
- ._qxq9kb7n:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-opacity:1}
72
66
  ._syaz1gmx{color:var(--ds-text-disabled,#080f214a)}
73
67
  ._syaz6x5g{color:var(--ds-text-selected,#1868db)}
74
68
  ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -6,7 +6,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.nestedOpenPopupCSSSelectorNew = exports.nestedOpenPopupCSSSelector = exports.MenuItemBase = void 0;
9
+ exports.nestedOpenPopupCSSSelector = exports.MenuItemBase = void 0;
10
10
  require("./menu-item.compiled.css");
11
11
  var _runtime = require("@compiled/react/runtime");
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -120,10 +120,7 @@ var onTopOfButtonOrAnchorStyles = {
120
120
  * events through it (and applying the hover style when the popup is open). Exploring this has been
121
121
  * captured in [BLU-3354](https://jplat.atlassian.net/browse/BLU-3354).
122
122
  */
123
- var nestedOpenPopupCSSSelector = exports.nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
124
- // Behind fg('platform_dst_nav4_flyout_menu_slots_close_button') we are moving to a dialog role for the flyout
125
- // So making this selector more generic
126
- var nestedOpenPopupCSSSelectorNew = exports.nestedOpenPopupCSSSelectorNew = '&:has([aria-expanded="true"][aria-haspopup])';
123
+ var nestedOpenPopupCSSSelector = exports.nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup])';
127
124
  var containerStyles = {
128
125
  root: "_2rko12b0 _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syazazsu _1yyu1j28 _91ju1txw _uomdidpf _pmxpidpf _db80idpf _irr319i6 _t7p8kb7n _g4kikb7n _91nl1wug _ynyi1wug _iy5o1b66 _v4o21b66",
129
126
  rootT26Shape: "_2rko1qi0",
@@ -135,14 +132,7 @@ var containerStyles = {
135
132
  hasDescription: "_4t3i1wto",
136
133
  dragging: "_tzy41ou4"
137
134
  };
138
- var nestedOpenPopupStylesOld = {
139
- root: "_qxq9kb7n _1rbv1wug _kwq51b66 _1swv19i6",
140
- removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw",
141
- selected: "_1swvufnl"
142
- };
143
-
144
- // Merge back into the `containerStyles` after cleanup
145
- var nestedOpenPopupStylesNew = {
135
+ var nestedOpenPopupStyles = {
146
136
  root: "_1783kb7n _1d171wug _ligh1b66 _1fpr19i6",
147
137
  removeElemAfterOnHoverOrOpenNestedPopup: "_n3ixglyw",
148
138
  selected: "_1fprufnl"
@@ -317,7 +307,7 @@ var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref2, forwardedRef) {
317
307
  ref: visualContentRef,
318
308
  "data-testid": testId ? "".concat(testId, "-container") : undefined,
319
309
  "data-selected": isSelected,
320
- className: (0, _runtime.ax)([containerStyles.root, (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? nestedOpenPopupStylesNew.root : nestedOpenPopupStylesOld.root, (0, _platformFeatureFlags.fg)('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isSelected && (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesNew.selected, isSelected && !(0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesOld.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesNew.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && !(0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesOld.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
310
+ className: (0, _runtime.ax)([containerStyles.root, nestedOpenPopupStyles.root, (0, _platformFeatureFlags.fg)('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isSelected && nestedOpenPopupStyles.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && nestedOpenPopupStyles.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
321
311
  }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
322
312
  content: function content() {
323
313
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, children), description ? /*#__PURE__*/_react.default.createElement("div", null, description) : null);
@@ -4,13 +4,11 @@
4
4
  ._1ddp1txw:has([aria-expanded=true][aria-haspopup]){--expandable-chevron-display:flex}
5
5
  ._1e0c1xb2{display:var(--expandable-provided-elembefore-display)}
6
6
  ._1e0ciw0t{display:var(--expandable-chevron-display)}
7
- ._1hl9glyw:has([aria-expanded=true][aria-haspopup=true]){--expandable-provided-elembefore-display:none}
8
7
  ._1mmi1txw{--expandable-chevron-display:flex}
9
8
  ._1mmiglyw{--expandable-chevron-display:none}
10
9
  ._b31z1txw:has(:focus-visible){--expandable-chevron-display:flex}
11
10
  ._pnu5glyw:has([aria-expanded=true][aria-haspopup]){--expandable-provided-elembefore-display:none}
12
11
  ._syazxl6c{color:var(--ds-icon-selected,#1868db)}
13
- ._v9u71txw:has([aria-expanded=true][aria-haspopup=true]){--expandable-chevron-display:flex}
14
12
  [dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
15
13
  ._1vnl1txw:hover{--expandable-chevron-display:flex}
16
14
  ._p8btglyw:hover{--expandable-provided-elembefore-display:none}
@@ -7,8 +7,7 @@ import { IconButton } from '@atlaskit/button/new';
7
7
  import forwardRefWithGeneric from '@atlaskit/ds-lib/forward-ref-with-generic';
8
8
  import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
9
9
  import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
10
- import { fg } from '@atlaskit/platform-feature-flags';
11
- import { MenuItemBase, nestedOpenPopupCSSSelector, nestedOpenPopupCSSSelectorNew } from '../menu-item';
10
+ import { MenuItemBase, nestedOpenPopupCSSSelector } from '../menu-item';
12
11
  import { useScrollMenuItemIntoView } from '../use-scroll-menu-item-into-view';
13
12
  import { useIsExpanded, useOnExpansionToggle, useSetIsExpanded } from './expandable-menu-item-context';
14
13
  // Widening type to `string` to side-step Compiled cssMap typescript warnings with unknown properties
@@ -16,14 +15,11 @@ const chevronDisplayCssVar = '--expandable-chevron-display';
16
15
  const providedElemBeforeDisplayCssVar = '--expandable-provided-elembefore-display';
17
16
  const wrapperStyles = {
18
17
  root: "_1mmi1txw _165nglyw",
19
- showProvidedElemBefore: "_1mmiglyw _165n1bgi _v9u71txw _1hl9glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
20
- };
21
- const nestedOpenPopupStylesOld = {
22
- showProvidedElemBefore: "_v9u71txw _1hl9glyw"
18
+ showProvidedElemBefore: "_1mmiglyw _165n1bgi _1ddp1txw _pnu5glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
23
19
  };
24
20
 
25
21
  // Merge back into the `wrapperStyles` after cleanup
26
- const nestedOpenPopupStylesNew = {
22
+ const nestedOpenPopupStyles = {
27
23
  showProvidedElemBefore: "_1ddp1txw _pnu5glyw"
28
24
  };
29
25
  const iconStyles = {
@@ -127,7 +123,7 @@ export const ExpandableMenuItemTrigger = forwardRefWithGeneric(({
127
123
  // For expandable menu items, we shouldn't wrap in a `li` here. The `li` is instead at a higher level (`ExpandableMenuItem`), grouping the expandable menu item trigger and its content
128
124
  return /*#__PURE__*/React.createElement("div", {
129
125
  ref: itemRef,
130
- className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore, fg('platform_dst_nav4_flyout_menu_slots_close_button') ? nestedOpenPopupStylesNew.showProvidedElemBefore : nestedOpenPopupStylesOld.showProvidedElemBefore])
126
+ className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore, nestedOpenPopupStyles.showProvidedElemBefore])
131
127
  }, /*#__PURE__*/React.createElement(MenuItemBase, {
132
128
  id: id,
133
129
  actions: actions,
@@ -4,7 +4,6 @@ import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';
5
5
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
6
6
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
7
- import { fg } from '@atlaskit/platform-feature-flags';
8
7
  import { PopupContent } from '@atlaskit/popup/experimental';
9
8
  import { OnCloseContext, SetIsOpenContext, TitleIdContextProvider } from './flyout-menu-item-context';
10
9
  /**
@@ -61,33 +60,31 @@ export const FlyoutMenuItemContent = /*#__PURE__*/forwardRef(({
61
60
  // handleClose function, or passed in as a parameter in FlyoutMenuItemTrigger (outside-click),
62
61
  // or FlyoutHeader (close-button).
63
62
  const handleClose = useCallback((event, source) => {
64
- if (fg('platform_dst_nav4_flyout_menu_slots_close_button')) {
65
- // Use the passed source if provided, otherwise determine from event
66
- let determinedSource = source || 'other';
67
- if (!source) {
68
- if (event instanceof KeyboardEvent) {
69
- const keyboardEvent = event;
70
- if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
71
- determinedSource = 'escape-key';
72
- }
73
- } else if (event instanceof MouseEvent) {
74
- if (event && 'type' in event && event.type === 'click') {
75
- determinedSource = 'outside-click';
76
- }
63
+ // Use the passed source if provided, otherwise determine from event
64
+ let determinedSource = source || 'other';
65
+ if (!source) {
66
+ if (event instanceof KeyboardEvent) {
67
+ const keyboardEvent = event;
68
+ if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
69
+ determinedSource = 'escape-key';
77
70
  }
78
- }
79
-
80
- // When flyout menu is closed, fire analytics event
81
- const navigationAnalyticsEvent = createAnalyticsEvent({
82
- source: 'sideNav',
83
- actionSubject: 'flyoutMenu',
84
- action: 'closed',
85
- attributes: {
86
- closeSource: determinedSource
71
+ } else if (event instanceof MouseEvent) {
72
+ if (event && 'type' in event && event.type === 'click') {
73
+ determinedSource = 'outside-click';
87
74
  }
88
- });
89
- navigationAnalyticsEvent.fire('navigation');
75
+ }
90
76
  }
77
+
78
+ // When flyout menu is closed, fire analytics event
79
+ const navigationAnalyticsEvent = createAnalyticsEvent({
80
+ source: 'sideNav',
81
+ actionSubject: 'flyoutMenu',
82
+ action: 'closed',
83
+ attributes: {
84
+ closeSource: determinedSource
85
+ }
86
+ });
87
+ navigationAnalyticsEvent.fire('navigation');
91
88
  onClose === null || onClose === void 0 ? void 0 : onClose();
92
89
  setIsOpen(false);
93
90
  }, [setIsOpen, onClose, createAnalyticsEvent]);
@@ -121,8 +118,8 @@ export const FlyoutMenuItemContent = /*#__PURE__*/forwardRef(({
121
118
  testId: containerTestId,
122
119
  xcss: flyoutMenuItemContentStyles.root,
123
120
  autoFocus: autoFocus,
124
- role: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined,
125
- titleId: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? titleId : undefined
121
+ role: "dialog",
122
+ titleId: titleId
126
123
  /**
127
124
  * Disabling GPU acceleration removes the use of `transform` by popper.js for this popup.
128
125
  *
@@ -143,7 +140,7 @@ export const FlyoutMenuItemContent = /*#__PURE__*/forwardRef(({
143
140
  }) => /*#__PURE__*/React.createElement(UpdatePopperOnContentResize, {
144
141
  ref: forwardedRef,
145
142
  update: update
146
- }, fg('platform_dst_nav4_flyout_menu_slots_close_button') ? /*#__PURE__*/React.createElement(TitleIdContextProvider, {
143
+ }, /*#__PURE__*/React.createElement(TitleIdContextProvider, {
147
144
  value: titleId
148
145
  }, /*#__PURE__*/React.createElement("div", {
149
146
  style: {
@@ -151,7 +148,7 @@ export const FlyoutMenuItemContent = /*#__PURE__*/forwardRef(({
151
148
  },
152
149
  "data-testid": containerTestId ? `${containerTestId}--container` : undefined,
153
150
  className: ax([flyoutMenuItemContentContainerStyles.container])
154
- }, children)) : children));
151
+ }, children))));
155
152
  });
156
153
  function createResizeObserver(update) {
157
154
  return new ResizeObserver(update);
@@ -5,7 +5,6 @@ import { ax, ix } from "@compiled/react/runtime";
5
5
  import { forwardRef, useCallback, useContext } from 'react';
6
6
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
7
7
  import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
8
- import { fg } from '@atlaskit/platform-feature-flags';
9
8
  import { PopupTrigger } from '@atlaskit/popup/experimental';
10
9
  import { MenuItemBase } from '../menu-item';
11
10
  import { IsOpenContext, OnCloseContext } from './flyout-menu-item-context';
@@ -33,12 +32,8 @@ export const FlyoutMenuItemTrigger = /*#__PURE__*/forwardRef(({
33
32
  const isOpen = useContext(IsOpenContext);
34
33
  const onCloseRef = useContext(OnCloseContext);
35
34
  const handleClick = useCallback((event, analyticsEvent) => {
36
- // If the flyout is open and the trigger is clicked, close the flyout and call the onClick
37
- // handler with the source information set to 'outside-click'.
38
- if (fg('platform_dst_nav4_flyout_menu_slots_close_button')) {
39
- if (isOpen && onCloseRef.current) {
40
- onCloseRef.current(event, 'outside-click');
41
- }
35
+ if (isOpen && onCloseRef.current) {
36
+ onCloseRef.current(event, 'outside-click');
42
37
  }
43
38
  onClick === null || onClick === void 0 ? void 0 : onClick(event, analyticsEvent);
44
39
  }, [isOpen, onCloseRef, onClick]);
@@ -2,7 +2,6 @@ import React, { forwardRef, useEffect, useRef } from 'react';
2
2
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
3
3
  import useControlled from '@atlaskit/ds-lib/use-controlled';
4
4
  import usePreviousValue from '@atlaskit/ds-lib/use-previous-value';
5
- import { fg } from '@atlaskit/platform-feature-flags';
6
5
  import { Popup } from '@atlaskit/popup/experimental';
7
6
  import { MenuListItem } from '../menu-list-item';
8
7
  import { IsOpenContext, OnCloseContext, SetIsOpenContext } from './flyout-menu-item-context';
@@ -53,14 +52,12 @@ export const FlyoutMenuItem = /*#__PURE__*/forwardRef(({
53
52
 
54
53
  // When flyout menu is opened, fire analytics event
55
54
  if (isOpen && previousIsOpen === false) {
56
- if (fg('platform_dst_nav4_flyout_menu_slots_close_button')) {
57
- const navigationAnalyticsEvent = createAnalyticsEvent({
58
- source: 'sideNav',
59
- actionSubject: 'flyoutMenu',
60
- action: 'opened'
61
- });
62
- navigationAnalyticsEvent.fire('navigation');
63
- }
55
+ const navigationAnalyticsEvent = createAnalyticsEvent({
56
+ source: 'sideNav',
57
+ actionSubject: 'flyoutMenu',
58
+ action: 'opened'
59
+ });
60
+ navigationAnalyticsEvent.fire('navigation');
64
61
  }
65
62
  onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
66
63
  }, [isOpen, onOpenChange, previousIsOpen, createAnalyticsEvent]);
@@ -75,6 +72,6 @@ export const FlyoutMenuItem = /*#__PURE__*/forwardRef(({
75
72
  }, /*#__PURE__*/React.createElement(Popup, {
76
73
  id: id,
77
74
  isOpen: isOpen,
78
- role: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined
75
+ role: "dialog"
79
76
  }, children)))));
80
77
  });
@@ -22,7 +22,6 @@
22
22
  ._1bsbyh40{width:2px}
23
23
  ._1cykglyw{--drag-handle-display:none}
24
24
  ._1d171wug:has([aria-expanded=true][aria-haspopup]){--actions-on-hover-width:auto}
25
- ._1djyglyw:has([aria-expanded=true][aria-haspopup=true]){--elem-after-display:none}
26
25
  ._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
27
26
  ._1e0c11p5{display:grid}
28
27
  ._1e0c13yo{display:var(--elem-after-display)}
@@ -33,10 +32,7 @@
33
32
  ._1lmcu4vt{grid-template-areas:"elem-before interactive elem-after actions"}
34
33
  ._1o9zidpf{flex-shrink:0}
35
34
  ._1q511b66{padding-block-start:var(--ds-space-050,4px)}
36
- ._1rbv1wug:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-width:auto}
37
35
  ._1reo15vq{overflow-x:hidden}
38
- ._1swv19i6:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-surface-hovered,#f0f1f2)}
39
- ._1swvufnl:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-background-selected-hovered,#cfe1fd)}
40
36
  ._1ul91c9m{min-width:1ch}
41
37
  ._1ul9t9kd{min-width:72px}
42
38
  ._1yyu1j28{--notch-color:transparent}
@@ -63,12 +59,10 @@
63
59
  ._db80idpf{--actions-on-hover-padding:0}
64
60
  ._kqswh2mm{position:relative}
65
61
  ._kqswstnw{position:absolute}
66
- ._kwq51b66:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-padding:var(--ds-space-050,4px)}
67
62
  ._ligh1b66:has([aria-expanded=true][aria-haspopup]){--actions-on-hover-padding:var(--ds-space-050,4px)}
68
63
  ._n3ixglyw:has([aria-expanded=true][aria-haspopup]){--elem-after-display:none}
69
64
  ._pmxp1wug{--actions-on-hover-width:auto}
70
65
  ._pmxpidpf{--actions-on-hover-width:0}
71
- ._qxq9kb7n:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-opacity:1}
72
66
  ._syaz1gmx{color:var(--ds-text-disabled,#080f214a)}
73
67
  ._syaz6x5g{color:var(--ds-text-selected,#1868db)}
74
68
  ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -108,10 +108,7 @@ const onTopOfButtonOrAnchorStyles = {
108
108
  * events through it (and applying the hover style when the popup is open). Exploring this has been
109
109
  * captured in [BLU-3354](https://jplat.atlassian.net/browse/BLU-3354).
110
110
  */
111
- export const nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
112
- // Behind fg('platform_dst_nav4_flyout_menu_slots_close_button') we are moving to a dialog role for the flyout
113
- // So making this selector more generic
114
- export const nestedOpenPopupCSSSelectorNew = '&:has([aria-expanded="true"][aria-haspopup])';
111
+ export const nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup])';
115
112
  const containerStyles = {
116
113
  root: "_2rko12b0 _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syazazsu _1yyu1j28 _91ju1txw _uomdidpf _pmxpidpf _db80idpf _irr319i6 _t7p8kb7n _g4kikb7n _91nl1wug _ynyi1wug _iy5o1b66 _v4o21b66",
117
114
  rootT26Shape: "_2rko1qi0",
@@ -123,14 +120,7 @@ const containerStyles = {
123
120
  hasDescription: "_4t3i1wto",
124
121
  dragging: "_tzy41ou4"
125
122
  };
126
- const nestedOpenPopupStylesOld = {
127
- root: "_qxq9kb7n _1rbv1wug _kwq51b66 _1swv19i6",
128
- removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw",
129
- selected: "_1swvufnl"
130
- };
131
-
132
- // Merge back into the `containerStyles` after cleanup
133
- const nestedOpenPopupStylesNew = {
123
+ const nestedOpenPopupStyles = {
134
124
  root: "_1783kb7n _1d171wug _ligh1b66 _1fpr19i6",
135
125
  removeElemAfterOnHoverOrOpenNestedPopup: "_n3ixglyw",
136
126
  selected: "_1fprufnl"
@@ -307,7 +297,7 @@ const MenuItemBaseNoRef = ({
307
297
  ref: visualContentRef,
308
298
  "data-testid": testId ? `${testId}-container` : undefined,
309
299
  "data-selected": isSelected,
310
- className: ax([containerStyles.root, fg('platform_dst_nav4_flyout_menu_slots_close_button') ? nestedOpenPopupStylesNew.root : nestedOpenPopupStylesOld.root, fg('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isSelected && fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesNew.selected, isSelected && !fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesOld.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesNew.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && !fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesOld.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
300
+ className: ax([containerStyles.root, nestedOpenPopupStyles.root, fg('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isSelected && nestedOpenPopupStyles.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && nestedOpenPopupStyles.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
311
301
  }, /*#__PURE__*/React.createElement(Tooltip, {
312
302
  content: () => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", null, children), description ? /*#__PURE__*/React.createElement("div", null, description) : null),
313
303
  position: "right-start",
@@ -4,13 +4,11 @@
4
4
  ._1ddp1txw:has([aria-expanded=true][aria-haspopup]){--expandable-chevron-display:flex}
5
5
  ._1e0c1xb2{display:var(--expandable-provided-elembefore-display)}
6
6
  ._1e0ciw0t{display:var(--expandable-chevron-display)}
7
- ._1hl9glyw:has([aria-expanded=true][aria-haspopup=true]){--expandable-provided-elembefore-display:none}
8
7
  ._1mmi1txw{--expandable-chevron-display:flex}
9
8
  ._1mmiglyw{--expandable-chevron-display:none}
10
9
  ._b31z1txw:has(:focus-visible){--expandable-chevron-display:flex}
11
10
  ._pnu5glyw:has([aria-expanded=true][aria-haspopup]){--expandable-provided-elembefore-display:none}
12
11
  ._syazxl6c{color:var(--ds-icon-selected,#1868db)}
13
- ._v9u71txw:has([aria-expanded=true][aria-haspopup=true]){--expandable-chevron-display:flex}
14
12
  [dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
15
13
  ._1vnl1txw:hover{--expandable-chevron-display:flex}
16
14
  ._p8btglyw:hover{--expandable-provided-elembefore-display:none}
@@ -7,8 +7,7 @@ import { IconButton } from '@atlaskit/button/new';
7
7
  import forwardRefWithGeneric from '@atlaskit/ds-lib/forward-ref-with-generic';
8
8
  import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
9
9
  import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
10
- import { fg } from '@atlaskit/platform-feature-flags';
11
- import { MenuItemBase, nestedOpenPopupCSSSelector, nestedOpenPopupCSSSelectorNew } from '../menu-item';
10
+ import { MenuItemBase, nestedOpenPopupCSSSelector } from '../menu-item';
12
11
  import { useScrollMenuItemIntoView } from '../use-scroll-menu-item-into-view';
13
12
  import { useIsExpanded, useOnExpansionToggle, useSetIsExpanded } from './expandable-menu-item-context';
14
13
  // Widening type to `string` to side-step Compiled cssMap typescript warnings with unknown properties
@@ -16,14 +15,11 @@ var chevronDisplayCssVar = '--expandable-chevron-display';
16
15
  var providedElemBeforeDisplayCssVar = '--expandable-provided-elembefore-display';
17
16
  var wrapperStyles = {
18
17
  root: "_1mmi1txw _165nglyw",
19
- showProvidedElemBefore: "_1mmiglyw _165n1bgi _v9u71txw _1hl9glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
20
- };
21
- var nestedOpenPopupStylesOld = {
22
- showProvidedElemBefore: "_v9u71txw _1hl9glyw"
18
+ showProvidedElemBefore: "_1mmiglyw _165n1bgi _1ddp1txw _pnu5glyw _b31z1txw _1vnl1txw _12xsglyw _p8btglyw"
23
19
  };
24
20
 
25
21
  // Merge back into the `wrapperStyles` after cleanup
26
- var nestedOpenPopupStylesNew = {
22
+ var nestedOpenPopupStyles = {
27
23
  showProvidedElemBefore: "_1ddp1txw _pnu5glyw"
28
24
  };
29
25
  var iconStyles = {
@@ -127,7 +123,7 @@ export var ExpandableMenuItemTrigger = forwardRefWithGeneric(function (_ref2, fo
127
123
  // For expandable menu items, we shouldn't wrap in a `li` here. The `li` is instead at a higher level (`ExpandableMenuItem`), grouping the expandable menu item trigger and its content
128
124
  return /*#__PURE__*/React.createElement("div", {
129
125
  ref: itemRef,
130
- className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore, fg('platform_dst_nav4_flyout_menu_slots_close_button') ? nestedOpenPopupStylesNew.showProvidedElemBefore : nestedOpenPopupStylesOld.showProvidedElemBefore])
126
+ className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore, nestedOpenPopupStyles.showProvidedElemBefore])
131
127
  }, /*#__PURE__*/React.createElement(MenuItemBase, {
132
128
  id: id,
133
129
  actions: actions,
@@ -6,7 +6,6 @@ import { ax, ix } from "@compiled/react/runtime";
6
6
  import React, { forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';
7
7
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
8
8
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
9
- import { fg } from '@atlaskit/platform-feature-flags';
10
9
  import { PopupContent } from '@atlaskit/popup/experimental';
11
10
  import { OnCloseContext, SetIsOpenContext, TitleIdContextProvider } from './flyout-menu-item-context';
12
11
  /**
@@ -62,33 +61,31 @@ export var FlyoutMenuItemContent = /*#__PURE__*/forwardRef(function (_ref, forwa
62
61
  // handleClose function, or passed in as a parameter in FlyoutMenuItemTrigger (outside-click),
63
62
  // or FlyoutHeader (close-button).
64
63
  var handleClose = useCallback(function (event, source) {
65
- if (fg('platform_dst_nav4_flyout_menu_slots_close_button')) {
66
- // Use the passed source if provided, otherwise determine from event
67
- var determinedSource = source || 'other';
68
- if (!source) {
69
- if (event instanceof KeyboardEvent) {
70
- var keyboardEvent = event;
71
- if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
72
- determinedSource = 'escape-key';
73
- }
74
- } else if (event instanceof MouseEvent) {
75
- if (event && 'type' in event && event.type === 'click') {
76
- determinedSource = 'outside-click';
77
- }
64
+ // Use the passed source if provided, otherwise determine from event
65
+ var determinedSource = source || 'other';
66
+ if (!source) {
67
+ if (event instanceof KeyboardEvent) {
68
+ var keyboardEvent = event;
69
+ if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
70
+ determinedSource = 'escape-key';
78
71
  }
79
- }
80
-
81
- // When flyout menu is closed, fire analytics event
82
- var navigationAnalyticsEvent = createAnalyticsEvent({
83
- source: 'sideNav',
84
- actionSubject: 'flyoutMenu',
85
- action: 'closed',
86
- attributes: {
87
- closeSource: determinedSource
72
+ } else if (event instanceof MouseEvent) {
73
+ if (event && 'type' in event && event.type === 'click') {
74
+ determinedSource = 'outside-click';
88
75
  }
89
- });
90
- navigationAnalyticsEvent.fire('navigation');
76
+ }
91
77
  }
78
+
79
+ // When flyout menu is closed, fire analytics event
80
+ var navigationAnalyticsEvent = createAnalyticsEvent({
81
+ source: 'sideNav',
82
+ actionSubject: 'flyoutMenu',
83
+ action: 'closed',
84
+ attributes: {
85
+ closeSource: determinedSource
86
+ }
87
+ });
88
+ navigationAnalyticsEvent.fire('navigation');
92
89
  onClose === null || onClose === void 0 || onClose();
93
90
  setIsOpen(false);
94
91
  }, [setIsOpen, onClose, createAnalyticsEvent]);
@@ -125,8 +122,8 @@ export var FlyoutMenuItemContent = /*#__PURE__*/forwardRef(function (_ref, forwa
125
122
  testId: containerTestId,
126
123
  xcss: flyoutMenuItemContentStyles.root,
127
124
  autoFocus: autoFocus,
128
- role: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined,
129
- titleId: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? titleId : undefined
125
+ role: "dialog",
126
+ titleId: titleId
130
127
  /**
131
128
  * Disabling GPU acceleration removes the use of `transform` by popper.js for this popup.
132
129
  *
@@ -147,13 +144,13 @@ export var FlyoutMenuItemContent = /*#__PURE__*/forwardRef(function (_ref, forwa
147
144
  return /*#__PURE__*/React.createElement(UpdatePopperOnContentResize, {
148
145
  ref: forwardedRef,
149
146
  update: update
150
- }, fg('platform_dst_nav4_flyout_menu_slots_close_button') ? /*#__PURE__*/React.createElement(TitleIdContextProvider, {
147
+ }, /*#__PURE__*/React.createElement(TitleIdContextProvider, {
151
148
  value: titleId
152
149
  }, /*#__PURE__*/React.createElement("div", {
153
150
  style: _defineProperty({}, maxHeightCssVar, computedMaxHeight),
154
151
  "data-testid": containerTestId ? "".concat(containerTestId, "--container") : undefined,
155
152
  className: ax([flyoutMenuItemContentContainerStyles.container])
156
- }, children)) : children);
153
+ }, children)));
157
154
  });
158
155
  });
159
156
  function createResizeObserver(update) {
@@ -5,7 +5,6 @@ import { ax, ix } from "@compiled/react/runtime";
5
5
  import { forwardRef, useCallback, useContext } from 'react';
6
6
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
7
7
  import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
8
- import { fg } from '@atlaskit/platform-feature-flags';
9
8
  import { PopupTrigger } from '@atlaskit/popup/experimental';
10
9
  import { MenuItemBase } from '../menu-item';
11
10
  import { IsOpenContext, OnCloseContext } from './flyout-menu-item-context';
@@ -32,12 +31,8 @@ export var FlyoutMenuItemTrigger = /*#__PURE__*/forwardRef(function (_ref, forwa
32
31
  var isOpen = useContext(IsOpenContext);
33
32
  var onCloseRef = useContext(OnCloseContext);
34
33
  var handleClick = useCallback(function (event, analyticsEvent) {
35
- // If the flyout is open and the trigger is clicked, close the flyout and call the onClick
36
- // handler with the source information set to 'outside-click'.
37
- if (fg('platform_dst_nav4_flyout_menu_slots_close_button')) {
38
- if (isOpen && onCloseRef.current) {
39
- onCloseRef.current(event, 'outside-click');
40
- }
34
+ if (isOpen && onCloseRef.current) {
35
+ onCloseRef.current(event, 'outside-click');
41
36
  }
42
37
  onClick === null || onClick === void 0 || onClick(event, analyticsEvent);
43
38
  }, [isOpen, onCloseRef, onClick]);
@@ -3,7 +3,6 @@ import React, { forwardRef, useEffect, useRef } from 'react';
3
3
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
4
4
  import useControlled from '@atlaskit/ds-lib/use-controlled';
5
5
  import usePreviousValue from '@atlaskit/ds-lib/use-previous-value';
6
- import { fg } from '@atlaskit/platform-feature-flags';
7
6
  import { Popup } from '@atlaskit/popup/experimental';
8
7
  import { MenuListItem } from '../menu-list-item';
9
8
  import { IsOpenContext, OnCloseContext, SetIsOpenContext } from './flyout-menu-item-context';
@@ -58,14 +57,12 @@ export var FlyoutMenuItem = /*#__PURE__*/forwardRef(function (_ref, forwardedRef
58
57
 
59
58
  // When flyout menu is opened, fire analytics event
60
59
  if (isOpen && previousIsOpen === false) {
61
- if (fg('platform_dst_nav4_flyout_menu_slots_close_button')) {
62
- var navigationAnalyticsEvent = createAnalyticsEvent({
63
- source: 'sideNav',
64
- actionSubject: 'flyoutMenu',
65
- action: 'opened'
66
- });
67
- navigationAnalyticsEvent.fire('navigation');
68
- }
60
+ var navigationAnalyticsEvent = createAnalyticsEvent({
61
+ source: 'sideNav',
62
+ actionSubject: 'flyoutMenu',
63
+ action: 'opened'
64
+ });
65
+ navigationAnalyticsEvent.fire('navigation');
69
66
  }
70
67
  onOpenChange === null || onOpenChange === void 0 || onOpenChange(isOpen);
71
68
  }, [isOpen, onOpenChange, previousIsOpen, createAnalyticsEvent]);
@@ -80,6 +77,6 @@ export var FlyoutMenuItem = /*#__PURE__*/forwardRef(function (_ref, forwardedRef
80
77
  }, /*#__PURE__*/React.createElement(Popup, {
81
78
  id: id,
82
79
  isOpen: isOpen,
83
- role: fg('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined
80
+ role: "dialog"
84
81
  }, children)))));
85
82
  });
@@ -22,7 +22,6 @@
22
22
  ._1bsbyh40{width:2px}
23
23
  ._1cykglyw{--drag-handle-display:none}
24
24
  ._1d171wug:has([aria-expanded=true][aria-haspopup]){--actions-on-hover-width:auto}
25
- ._1djyglyw:has([aria-expanded=true][aria-haspopup=true]){--elem-after-display:none}
26
25
  ._1e02ze3t{inset-inline-start:var(--ds-space-0,0)}
27
26
  ._1e0c11p5{display:grid}
28
27
  ._1e0c13yo{display:var(--elem-after-display)}
@@ -33,10 +32,7 @@
33
32
  ._1lmcu4vt{grid-template-areas:"elem-before interactive elem-after actions"}
34
33
  ._1o9zidpf{flex-shrink:0}
35
34
  ._1q511b66{padding-block-start:var(--ds-space-050,4px)}
36
- ._1rbv1wug:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-width:auto}
37
35
  ._1reo15vq{overflow-x:hidden}
38
- ._1swv19i6:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-surface-hovered,#f0f1f2)}
39
- ._1swvufnl:has([aria-expanded=true][aria-haspopup=true]){background-color:var(--ds-background-selected-hovered,#cfe1fd)}
40
36
  ._1ul91c9m{min-width:1ch}
41
37
  ._1ul9t9kd{min-width:72px}
42
38
  ._1yyu1j28{--notch-color:transparent}
@@ -63,12 +59,10 @@
63
59
  ._db80idpf{--actions-on-hover-padding:0}
64
60
  ._kqswh2mm{position:relative}
65
61
  ._kqswstnw{position:absolute}
66
- ._kwq51b66:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-padding:var(--ds-space-050,4px)}
67
62
  ._ligh1b66:has([aria-expanded=true][aria-haspopup]){--actions-on-hover-padding:var(--ds-space-050,4px)}
68
63
  ._n3ixglyw:has([aria-expanded=true][aria-haspopup]){--elem-after-display:none}
69
64
  ._pmxp1wug{--actions-on-hover-width:auto}
70
65
  ._pmxpidpf{--actions-on-hover-width:0}
71
- ._qxq9kb7n:has([aria-expanded=true][aria-haspopup=true]){--actions-on-hover-opacity:1}
72
66
  ._syaz1gmx{color:var(--ds-text-disabled,#080f214a)}
73
67
  ._syaz6x5g{color:var(--ds-text-selected,#1868db)}
74
68
  ._syazazsu{color:var(--ds-text-subtle,#505258)}
@@ -111,10 +111,7 @@ var onTopOfButtonOrAnchorStyles = {
111
111
  * events through it (and applying the hover style when the popup is open). Exploring this has been
112
112
  * captured in [BLU-3354](https://jplat.atlassian.net/browse/BLU-3354).
113
113
  */
114
- export var nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
115
- // Behind fg('platform_dst_nav4_flyout_menu_slots_close_button') we are moving to a dialog role for the flyout
116
- // So making this selector more generic
117
- export var nestedOpenPopupCSSSelectorNew = '&:has([aria-expanded="true"][aria-haspopup])';
114
+ export var nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup])';
118
115
  var containerStyles = {
119
116
  root: "_2rko12b0 _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syazazsu _1yyu1j28 _91ju1txw _uomdidpf _pmxpidpf _db80idpf _irr319i6 _t7p8kb7n _g4kikb7n _91nl1wug _ynyi1wug _iy5o1b66 _v4o21b66",
120
117
  rootT26Shape: "_2rko1qi0",
@@ -126,14 +123,7 @@ var containerStyles = {
126
123
  hasDescription: "_4t3i1wto",
127
124
  dragging: "_tzy41ou4"
128
125
  };
129
- var nestedOpenPopupStylesOld = {
130
- root: "_qxq9kb7n _1rbv1wug _kwq51b66 _1swv19i6",
131
- removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw",
132
- selected: "_1swvufnl"
133
- };
134
-
135
- // Merge back into the `containerStyles` after cleanup
136
- var nestedOpenPopupStylesNew = {
126
+ var nestedOpenPopupStyles = {
137
127
  root: "_1783kb7n _1d171wug _ligh1b66 _1fpr19i6",
138
128
  removeElemAfterOnHoverOrOpenNestedPopup: "_n3ixglyw",
139
129
  selected: "_1fprufnl"
@@ -308,7 +298,7 @@ var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref2, forwardedRef) {
308
298
  ref: visualContentRef,
309
299
  "data-testid": testId ? "".concat(testId, "-container") : undefined,
310
300
  "data-selected": isSelected,
311
- className: ax([containerStyles.root, fg('platform_dst_nav4_flyout_menu_slots_close_button') ? nestedOpenPopupStylesNew.root : nestedOpenPopupStylesOld.root, fg('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isSelected && fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesNew.selected, isSelected && !fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesOld.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesNew.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && !fg('platform_dst_nav4_flyout_menu_slots_close_button') && nestedOpenPopupStylesOld.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
301
+ className: ax([containerStyles.root, nestedOpenPopupStyles.root, fg('platform-dst-shape-theme-default') && containerStyles.rootT26Shape, isSelected && containerStyles.selected, isSelected && nestedOpenPopupStyles.selected, isDragging && containerStyles.dragging, description && containerStyles.hasDescription, showHoverActionsWhenNotHovered && containerStyles.showHoverActions, showHoverActionsWhenNotHovered && elemAfter && containerStyles.removeElemAfter, actionsOnHover && elemAfter && containerStyles.removeElemAfterOnHoverOrOpenNestedPopup, actionsOnHover && elemAfter && nestedOpenPopupStyles.removeElemAfterOnHoverOrOpenNestedPopup, isDisabled && containerStyles.disabled])
312
302
  }, /*#__PURE__*/React.createElement(Tooltip, {
313
303
  content: function content() {
314
304
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", null, children), description ? /*#__PURE__*/React.createElement("div", null, description) : null);
@@ -18,8 +18,7 @@ import type { MenuItemAriaHasPopup, MenuItemLinkOrButtonCommonProps, MenuItemOnC
18
18
  * events through it (and applying the hover style when the popup is open). Exploring this has been
19
19
  * captured in [BLU-3354](https://jplat.atlassian.net/browse/BLU-3354).
20
20
  */
21
- export declare const nestedOpenPopupCSSSelector = "&:has([aria-expanded=\"true\"][aria-haspopup=\"true\"])";
22
- export declare const nestedOpenPopupCSSSelectorNew = "&:has([aria-expanded=\"true\"][aria-haspopup])";
21
+ export declare const nestedOpenPopupCSSSelector = "&:has([aria-expanded=\"true\"][aria-haspopup])";
23
22
  /**
24
23
  * Includes all props that are used by any menu item, as MenuItembase is the base component for all menu item components.
25
24
  *
@@ -18,8 +18,7 @@ import type { MenuItemAriaHasPopup, MenuItemLinkOrButtonCommonProps, MenuItemOnC
18
18
  * events through it (and applying the hover style when the popup is open). Exploring this has been
19
19
  * captured in [BLU-3354](https://jplat.atlassian.net/browse/BLU-3354).
20
20
  */
21
- export declare const nestedOpenPopupCSSSelector = "&:has([aria-expanded=\"true\"][aria-haspopup=\"true\"])";
22
- export declare const nestedOpenPopupCSSSelectorNew = "&:has([aria-expanded=\"true\"][aria-haspopup])";
21
+ export declare const nestedOpenPopupCSSSelector = "&:has([aria-expanded=\"true\"][aria-haspopup])";
23
22
  /**
24
23
  * Includes all props that are used by any menu item, as MenuItembase is the base component for all menu item components.
25
24
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/side-nav-items",
3
- "version": "1.13.8",
3
+ "version": "1.13.9",
4
4
  "description": "Menu items and elements for the side nav area.",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -37,7 +37,7 @@
37
37
  "atlaskit:src": "src/index.ts",
38
38
  "dependencies": {
39
39
  "@atlaskit/analytics-next": "^11.2.0",
40
- "@atlaskit/avatar": "^25.14.0",
40
+ "@atlaskit/avatar": "^25.15.0",
41
41
  "@atlaskit/button": "^23.11.0",
42
42
  "@atlaskit/css": "^0.19.0",
43
43
  "@atlaskit/ds-lib": "^7.0.0",
@@ -45,7 +45,7 @@
45
45
  "@atlaskit/icon": "^35.0.0",
46
46
  "@atlaskit/platform-feature-flags": "^1.1.0",
47
47
  "@atlaskit/platform-feature-flags-react": "^0.5.0",
48
- "@atlaskit/popup": "^4.19.0",
48
+ "@atlaskit/popup": "^4.20.0",
49
49
  "@atlaskit/pragmatic-drag-and-drop": "^1.8.0",
50
50
  "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.1.0",
51
51
  "@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^3.2.0",
@@ -69,12 +69,13 @@
69
69
  "@atlaskit/navigation-system": "^9.4.0",
70
70
  "@atlaskit/ssr": "workspace:^",
71
71
  "@atlassian/a11y-jest-testing": "^0.11.0",
72
- "@atlassian/a11y-playwright-testing": "^0.9.0",
72
+ "@atlassian/a11y-playwright-testing": "^0.10.0",
73
73
  "@atlassian/feature-flags-test-utils": "^1.1.0",
74
74
  "@atlassian/react-compiler-gating": "workspace:^",
75
75
  "@atlassian/testing-library": "^0.6.0",
76
76
  "@testing-library/react": "^16.3.0",
77
77
  "bind-event-listener": "^3.0.0",
78
+ "react": "^18.2.0",
78
79
  "react-dom": "^18.2.0"
79
80
  },
80
81
  "techstack": {
@@ -115,9 +116,6 @@
115
116
  "platform-feature-flags": {
116
117
  "platform-dst-shape-theme-default": {
117
118
  "type": "boolean"
118
- },
119
- "platform_dst_nav4_flyout_menu_slots_close_button": {
120
- "type": "boolean"
121
119
  }
122
120
  }
123
121
  }