@atlaskit/navigation-system 5.5.1 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/entry-points/fhs-rollout.js +26 -0
  3. package/dist/cjs/index.js +21 -0
  4. package/dist/cjs/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +14 -0
  5. package/dist/cjs/ui/fhs-rollout/is-fhs-enabled-context.js +17 -0
  6. package/dist/cjs/ui/fhs-rollout/is-fhs-enabled-provider.js +29 -0
  7. package/dist/cjs/ui/fhs-rollout/types.js +1 -0
  8. package/dist/cjs/ui/fhs-rollout/use-is-fhs-enabled.js +17 -0
  9. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +9 -2
  10. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +6 -2
  11. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +7 -3
  12. package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +6 -2
  13. package/dist/cjs/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +6 -2
  14. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +5 -1
  15. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +5 -1
  16. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +14 -10
  17. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +8 -4
  18. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +7 -3
  19. package/dist/cjs/ui/top-nav-items/search.js +5 -1
  20. package/dist/es2019/entry-points/fhs-rollout.js +3 -0
  21. package/dist/es2019/index.js +3 -0
  22. package/dist/es2019/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +9 -0
  23. package/dist/es2019/ui/fhs-rollout/is-fhs-enabled-context.js +9 -0
  24. package/dist/es2019/ui/fhs-rollout/is-fhs-enabled-provider.js +23 -0
  25. package/dist/es2019/ui/fhs-rollout/types.js +0 -0
  26. package/dist/es2019/ui/fhs-rollout/use-is-fhs-enabled.js +12 -0
  27. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +9 -2
  28. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +7 -2
  29. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +7 -3
  30. package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +6 -2
  31. package/dist/es2019/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +6 -2
  32. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +5 -1
  33. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +5 -1
  34. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +14 -10
  35. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +8 -4
  36. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +7 -3
  37. package/dist/es2019/ui/top-nav-items/search.js +40 -34
  38. package/dist/esm/entry-points/fhs-rollout.js +3 -0
  39. package/dist/esm/index.js +3 -0
  40. package/dist/esm/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +9 -0
  41. package/dist/esm/ui/fhs-rollout/is-fhs-enabled-context.js +11 -0
  42. package/dist/esm/ui/fhs-rollout/is-fhs-enabled-provider.js +22 -0
  43. package/dist/esm/ui/fhs-rollout/types.js +0 -0
  44. package/dist/esm/ui/fhs-rollout/use-is-fhs-enabled.js +12 -0
  45. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +9 -2
  46. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +7 -2
  47. package/dist/esm/ui/page-layout/side-nav/side-nav.js +7 -3
  48. package/dist/esm/ui/page-layout/side-nav/toggle-button.js +6 -2
  49. package/dist/esm/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +6 -2
  50. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +5 -1
  51. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +5 -1
  52. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +14 -10
  53. package/dist/esm/ui/page-layout/top-nav/top-nav.js +8 -4
  54. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +7 -3
  55. package/dist/esm/ui/top-nav-items/search.js +5 -1
  56. package/dist/types/entry-points/fhs-rollout.d.ts +3 -0
  57. package/dist/types/index.d.ts +3 -0
  58. package/dist/types/ui/fhs-rollout/is-custom-is-fhs-enabled-context.d.ts +7 -0
  59. package/dist/types/ui/fhs-rollout/is-fhs-enabled-context.d.ts +8 -0
  60. package/dist/types/ui/fhs-rollout/is-fhs-enabled-provider.d.ts +10 -0
  61. package/dist/types/ui/fhs-rollout/types.d.ts +1 -0
  62. package/dist/types/ui/fhs-rollout/use-is-fhs-enabled.d.ts +6 -0
  63. package/dist/types/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -1
  64. package/dist/types/ui/page-layout/panel-splitter/side-nav-panel-splitter.d.ts +1 -1
  65. package/dist/types/ui/page-layout/root.d.ts +1 -1
  66. package/dist/types/ui/page-layout/side-nav/side-nav.d.ts +1 -1
  67. package/dist/types-ts4.5/entry-points/fhs-rollout.d.ts +3 -0
  68. package/dist/types-ts4.5/index.d.ts +3 -0
  69. package/dist/types-ts4.5/ui/fhs-rollout/is-custom-is-fhs-enabled-context.d.ts +7 -0
  70. package/dist/types-ts4.5/ui/fhs-rollout/is-fhs-enabled-context.d.ts +8 -0
  71. package/dist/types-ts4.5/ui/fhs-rollout/is-fhs-enabled-provider.d.ts +10 -0
  72. package/dist/types-ts4.5/ui/fhs-rollout/types.d.ts +1 -0
  73. package/dist/types-ts4.5/ui/fhs-rollout/use-is-fhs-enabled.d.ts +6 -0
  74. package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -1
  75. package/dist/types-ts4.5/ui/page-layout/panel-splitter/side-nav-panel-splitter.d.ts +1 -1
  76. package/dist/types-ts4.5/ui/page-layout/root.d.ts +1 -1
  77. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav.d.ts +1 -1
  78. package/fhs-rollout/package.json +17 -0
  79. package/package.json +5 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlassian/navigation-system
2
2
 
3
+ ## 5.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`b5802cb0960a2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b5802cb0960a2) -
8
+ Change how full height sidebar is enabled. Instead of a feature gate, use a context value that
9
+ apps can set themselves using their own feature gate or experiment.
10
+
3
11
  ## 5.5.1
4
12
 
5
13
  ### Patch Changes
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "IsFhsEnabledContext", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _isFhsEnabledContext.IsFhsEnabledContext;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "IsFhsEnabledProvider", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _isFhsEnabledProvider.IsFhsEnabledProvider;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useIsFhsEnabled", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _useIsFhsEnabled.useIsFhsEnabled;
22
+ }
23
+ });
24
+ var _isFhsEnabledContext = require("../ui/fhs-rollout/is-fhs-enabled-context");
25
+ var _isFhsEnabledProvider = require("../ui/fhs-rollout/is-fhs-enabled-provider");
26
+ var _useIsFhsEnabled = require("../ui/fhs-rollout/use-is-fhs-enabled");
package/dist/cjs/index.js CHANGED
@@ -117,6 +117,18 @@ Object.defineProperty(exports, "Help", {
117
117
  return _help.Help;
118
118
  }
119
119
  });
120
+ Object.defineProperty(exports, "IsFhsEnabledContext", {
121
+ enumerable: true,
122
+ get: function get() {
123
+ return _isFhsEnabledContext.IsFhsEnabledContext;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "IsFhsEnabledProvider", {
127
+ enumerable: true,
128
+ get: function get() {
129
+ return _isFhsEnabledProvider.IsFhsEnabledProvider;
130
+ }
131
+ });
120
132
  Object.defineProperty(exports, "LinkMenuItem", {
121
133
  enumerable: true,
122
134
  get: function get() {
@@ -279,12 +291,21 @@ Object.defineProperty(exports, "useIsExpanded", {
279
291
  return _expandableMenuItemContext.useIsExpanded;
280
292
  }
281
293
  });
294
+ Object.defineProperty(exports, "useIsFhsEnabled", {
295
+ enumerable: true,
296
+ get: function get() {
297
+ return _useIsFhsEnabled.useIsFhsEnabled;
298
+ }
299
+ });
282
300
  Object.defineProperty(exports, "useToggleSideNav", {
283
301
  enumerable: true,
284
302
  get: function get() {
285
303
  return _useToggleSideNav.useToggleSideNav;
286
304
  }
287
305
  });
306
+ var _isFhsEnabledContext = require("./ui/fhs-rollout/is-fhs-enabled-context");
307
+ var _isFhsEnabledProvider = require("./ui/fhs-rollout/is-fhs-enabled-provider");
308
+ var _useIsFhsEnabled = require("./ui/fhs-rollout/use-is-fhs-enabled");
288
309
  var _expandableMenuItem = require("./ui/menu-item/expandable-menu-item/expandable-menu-item");
289
310
  var _expandableMenuItemTrigger = require("./ui/menu-item/expandable-menu-item/expandable-menu-item-trigger");
290
311
  var _expandableMenuItemContent = require("./ui/menu-item/expandable-menu-item/expandable-menu-item-content");
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IsCustomIsFhsEnabledContext = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * __Is custom is fhs enabled context__
10
+ *
11
+ * Tracks if a custom value has been provided for `IsFhsEnabledContext`.
12
+ * Used to prevent nesting of the `IsFhsEnabledProvider`.
13
+ */
14
+ var IsCustomIsFhsEnabledContext = exports.IsCustomIsFhsEnabledContext = /*#__PURE__*/(0, _react.createContext)(false);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IsFhsEnabledContext = void 0;
7
+ var _react = require("react");
8
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
+ /**
10
+ * __Is fhs enabled context__
11
+ *
12
+ * Tracks is FHS enabled.
13
+ * Defaults to feature gate 'navx-full-height-sidebar'.
14
+ */
15
+ var IsFhsEnabledContext = exports.IsFhsEnabledContext = /*#__PURE__*/(0, _react.createContext)(function () {
16
+ return (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
17
+ });
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.IsFhsEnabledProvider = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _isCustomIsFhsEnabledContext = require("./is-custom-is-fhs-enabled-context");
10
+ var _isFhsEnabledContext = require("./is-fhs-enabled-context");
11
+ 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); }
12
+ /**
13
+ * __Is fhs enabled provider__
14
+ *
15
+ * Used to provide a custom value for is FHS enabled.
16
+ */
17
+ var IsFhsEnabledProvider = exports.IsFhsEnabledProvider = function IsFhsEnabledProvider(_ref) {
18
+ var children = _ref.children,
19
+ value = _ref.value;
20
+ var isCustomIsFhsEnabled = (0, _react.useContext)(_isCustomIsFhsEnabledContext.IsCustomIsFhsEnabledContext);
21
+ if (isCustomIsFhsEnabled) {
22
+ throw new Error('A custom value for IsFhsEnabledContext has already been provided');
23
+ }
24
+ return /*#__PURE__*/_react.default.createElement(_isCustomIsFhsEnabledContext.IsCustomIsFhsEnabledContext.Provider, {
25
+ value: true
26
+ }, /*#__PURE__*/_react.default.createElement(_isFhsEnabledContext.IsFhsEnabledContext.Provider, {
27
+ value: value
28
+ }, children));
29
+ };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsFhsEnabled = void 0;
7
+ var _react = require("react");
8
+ var _isFhsEnabledContext = require("./is-fhs-enabled-context");
9
+ /**
10
+ * __Use is fhs enabled__
11
+ *
12
+ * Retrieves is FHS enabled.
13
+ */
14
+ var useIsFhsEnabled = exports.useIsFhsEnabled = function useIsFhsEnabled() {
15
+ var isFhsEnabled = (0, _react.useContext)(_isFhsEnabledContext.IsFhsEnabledContext);
16
+ return typeof isFhsEnabled === 'boolean' ? isFhsEnabled : isFhsEnabled();
17
+ };
@@ -28,6 +28,7 @@ var _disableNativeDragPreview = require("@atlaskit/pragmatic-drag-and-drop/eleme
28
28
  var _preventUnhandled = require("@atlaskit/pragmatic-drag-and-drop/prevent-unhandled");
29
29
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
30
30
  var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
31
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
31
32
  var _context = require("./context");
32
33
  var _convertResizeBoundToPixels = require("./convert-resize-bound-to-pixels");
33
34
  var _getPercentageWithinPixelBounds = require("./get-percentage-within-pixel-bounds");
@@ -59,7 +60,10 @@ var MaybeTooltip = function MaybeTooltip(_ref) {
59
60
  var tooltipContent = _ref.tooltipContent,
60
61
  shortcut = _ref.shortcut,
61
62
  children = _ref.children;
62
- if (tooltipContent && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
63
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
64
+ // eslint-disable-next-line react-hooks/rules-of-hooks
65
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
66
+ if (tooltipContent && isFhsEnabled) {
63
67
  return /*#__PURE__*/React.createElement(_tooltip.default, {
64
68
  content: tooltipContent,
65
69
  shortcut: shortcut,
@@ -93,6 +97,9 @@ var PortaledPanelSplitter = function PortaledPanelSplitter(_ref2) {
93
97
  position = _ref2.position,
94
98
  tooltipContent = _ref2.tooltipContent,
95
99
  shortcut = _ref2.shortcut;
100
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
101
+ // eslint-disable-next-line react-hooks/rules-of-hooks
102
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
96
103
  var splitterRef = (0, _react.useRef)(null);
97
104
  var labelId = (0, _useId.useId)();
98
105
  // Separate state used for the input range width to remove the UI's dependency on the "persisted" layout state value being updated
@@ -309,7 +316,7 @@ var PortaledPanelSplitter = function PortaledPanelSplitter(_ref2) {
309
316
  ref: splitterRef,
310
317
  "data-testid": testId,
311
318
  onDoubleClick: onDoubleClick,
312
- className: (0, _runtime.ax)([grabAreaStyles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && grabAreaStyles.fullHeightSidebar])
319
+ className: (0, _runtime.ax)([grabAreaStyles.root, isFhsEnabled && grabAreaStyles.fullHeightSidebar])
313
320
  }, /*#__PURE__*/React.createElement(_visuallyHidden.default, null, /*#__PURE__*/React.createElement("input", {
314
321
  type: "range",
315
322
  value: rangeInputValue,
@@ -12,6 +12,7 @@ var _runtime = require("@compiled/react/runtime");
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
14
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
15
16
  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); }
16
17
  /**
17
18
  * The main content of the side nav, filling up the middle section. It acts as a scroll container.
@@ -44,14 +45,17 @@ var fullHeightSidebarStyles = {
44
45
  function _SideNavContent(_ref, forwardedRef) {
45
46
  var children = _ref.children,
46
47
  testId = _ref.testId;
48
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
49
+ // eslint-disable-next-line react-hooks/rules-of-hooks
50
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
47
51
  var internalRef = (0, _react.useRef)(null);
48
52
  var mergedRef = (0, _react.useMemo)(function () {
49
53
  return (0, _mergeRefs.default)([internalRef, forwardedRef]);
50
54
  }, [forwardedRef]);
51
55
  return /*#__PURE__*/_react.default.createElement("div", {
52
- ref: (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') ? mergedRef : forwardedRef,
56
+ ref: isFhsEnabled ? mergedRef : forwardedRef,
53
57
  "data-testid": testId,
54
- className: (0, _runtime.ax)([styles.scrollContainer, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && fullHeightSidebarStyles.scrollContainer])
58
+ className: (0, _runtime.ax)([styles.scrollContainer, isFhsEnabled && fullHeightSidebarStyles.scrollContainer])
55
59
  }, /*#__PURE__*/_react.default.createElement("div", {
56
60
  className: (0, _runtime.ax)([styles.paddingContainer])
57
61
  }, children));
@@ -26,6 +26,7 @@ var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
26
26
  var _responsive = require("@atlaskit/primitives/responsive");
27
27
  var _skipLinksContext = require("../../../context/skip-links/skip-links-context");
28
28
  var _topNavStartContext = require("../../../context/top-nav-start/top-nav-start-context");
29
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
29
30
  var _constants = require("../constants");
30
31
  var _hoistSlotSizesContext = require("../hoist-slot-sizes-context");
31
32
  var _hoistUtils = require("../hoist-utils");
@@ -106,6 +107,9 @@ function SideNavInternal(_ref) {
106
107
  onPeekEnd = _ref.onPeekEnd,
107
108
  providedId = _ref.id,
108
109
  canToggleWithShortcut = _ref.canToggleWithShortcut;
110
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
111
+ // eslint-disable-next-line react-hooks/rules-of-hooks
112
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
109
113
  var id = (0, _idUtils.useLayoutId)({
110
114
  providedId: providedId
111
115
  });
@@ -714,13 +718,13 @@ function SideNavInternal(_ref) {
714
718
  // Otherwise, the `@starting-style` rule will cause the sidebar to slide in initially.
715
719
  var isFirstRenderRef = (0, _react.useRef)(true);
716
720
  (0, _react.useEffect)(function () {
717
- if (!(0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
721
+ if (!isFhsEnabled) {
718
722
  return;
719
723
  }
720
724
  if (isFirstRenderRef.current) {
721
725
  isFirstRenderRef.current = false;
722
726
  }
723
- }, []);
727
+ }, [isFhsEnabled]);
724
728
 
725
729
  // This is only used for the regular expand and collapse animations, not the flyout animations.
726
730
  var shouldShowSidebarToggleAnimation =
@@ -754,7 +758,7 @@ function SideNavInternal(_ref) {
754
758
  style: (0, _defineProperty2.default)({}, _constants.sideNavVar, clampedWidth),
755
759
  ref: mergedRef,
756
760
  "data-testid": testId,
757
- className: (0, _runtime.ax)([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !(0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !(0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.flyoutAnimateClosed, ((sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' || (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close') && !isFirefox && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.flyoutBaseStylesFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.flyoutAnimateClosedFullHeightSidebar, isFlyoutClosed && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebar])
761
+ className: (0, _runtime.ax)([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isFhsEnabled && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && isFhsEnabled && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && styles.flyoutAnimateClosed, ((sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' || (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close') && !isFirefox && isFhsEnabled && styles.flyoutBaseStylesFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && styles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && styles.flyoutAnimateClosedFullHeightSidebar, isFlyoutClosed && isFhsEnabled && styles.fullHeightSidebar])
758
762
  }), /*#__PURE__*/React.createElement(_hoistUtils.DangerouslyHoistCssVarToDocumentRoot, {
759
763
  variableName: _constants.sideNavLiveWidthVar,
760
764
  value: "0px",
@@ -17,6 +17,7 @@ var _analyticsNext = require("@atlaskit/analytics-next");
17
17
  var _sidebarCollapse = _interopRequireDefault(require("@atlaskit/icon/core/sidebar-collapse"));
18
18
  var _sidebarExpand = _interopRequireDefault(require("@atlaskit/icon/core/sidebar-expand"));
19
19
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
20
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
20
21
  var _migration = require("../../top-nav-items/themed/migration");
21
22
  var _isSideNavShortcutEnabledContext = require("./is-side-nav-shortcut-enabled-context");
22
23
  var _sideNavToggleTooltipKeyboardShortcut = require("./side-nav-toggle-tooltip-keyboard-shortcut");
@@ -49,6 +50,9 @@ var SideNavToggleButton = exports.SideNavToggleButton = function SideNavToggleBu
49
50
  testId = _ref.testId,
50
51
  interactionName = _ref.interactionName,
51
52
  onClick = _ref.onClick;
53
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
54
+ // eslint-disable-next-line react-hooks/rules-of-hooks
55
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
52
56
  var _useSideNavVisibility = (0, _useSideNavVisibility2.useSideNavVisibility)({
53
57
  defaultCollapsed: defaultCollapsed
54
58
  }),
@@ -158,13 +162,13 @@ var SideNavToggleButton = exports.SideNavToggleButton = function SideNavToggleBu
158
162
  };
159
163
  var isShortcutEnabled = (0, _isSideNavShortcutEnabledContext.useIsSideNavShortcutEnabled)();
160
164
  var tooltipProps = (0, _react.useMemo)(function () {
161
- if ((0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
165
+ if (isFhsEnabled) {
162
166
  return _objectSpread(_objectSpread({}, toggleButtonTooltipOptions), {}, {
163
167
  shortcut: isShortcutEnabled ? _sideNavToggleTooltipKeyboardShortcut.sideNavToggleTooltipKeyboardShortcut : undefined
164
168
  });
165
169
  }
166
170
  return toggleButtonTooltipOptions;
167
- }, [isShortcutEnabled]);
171
+ }, [isFhsEnabled, isShortcutEnabled]);
168
172
  return /*#__PURE__*/_react.default.createElement(_migration.IconButton, {
169
173
  appearance: "subtle",
170
174
  label: isSideNavExpanded ? collapseLabel : expandLabel,
@@ -10,6 +10,7 @@ var _bindEventListener = require("bind-event-listener");
10
10
  var _useStableRef = _interopRequireDefault(require("@atlaskit/ds-lib/use-stable-ref"));
11
11
  var _openLayerObserver = require("@atlaskit/layering/experimental/open-layer-observer");
12
12
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
13
14
  var _isSideNavShortcutEnabledContext = require("./is-side-nav-shortcut-enabled-context");
14
15
  var _useToggleSideNav = require("./use-toggle-side-nav");
15
16
  /**
@@ -17,6 +18,9 @@ var _useToggleSideNav = require("./use-toggle-side-nav");
17
18
  */
18
19
  function useSideNavToggleKeyboardShortcut(_ref) {
19
20
  var canToggleWithShortcut = _ref.canToggleWithShortcut;
21
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
22
+ // eslint-disable-next-line react-hooks/rules-of-hooks
23
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
20
24
  var openLayerObserver = (0, _openLayerObserver.useOpenLayerObserver)();
21
25
  var toggleVisibilityByShortcut = (0, _useToggleSideNav.useToggleSideNav)({
22
26
  trigger: 'keyboard'
@@ -24,7 +28,7 @@ function useSideNavToggleKeyboardShortcut(_ref) {
24
28
  var canToggleWithShortcutStableRef = (0, _useStableRef.default)(canToggleWithShortcut);
25
29
  var isSideNavShortcutEnabled = (0, _isSideNavShortcutEnabledContext.useIsSideNavShortcutEnabled)();
26
30
  (0, _react.useEffect)(function () {
27
- if (!(0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
31
+ if (!isFhsEnabled) {
28
32
  return;
29
33
  }
30
34
  if (!isSideNavShortcutEnabled) {
@@ -53,5 +57,5 @@ function useSideNavToggleKeyboardShortcut(_ref) {
53
57
  }
54
58
  }
55
59
  });
56
- }, [canToggleWithShortcutStableRef, openLayerObserver, toggleVisibilityByShortcut, isSideNavShortcutEnabled]);
60
+ }, [canToggleWithShortcutStableRef, isFhsEnabled, isSideNavShortcutEnabled, openLayerObserver, toggleVisibilityByShortcut]);
57
61
  }
@@ -19,6 +19,7 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
19
19
  var _popup = _interopRequireDefault(require("@atlaskit/popup"));
20
20
  var _compiled = require("@atlaskit/primitives/compiled");
21
21
  var _list = require("../../../components/list");
22
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
22
23
  var _hasCustomThemeContext = require("../../top-nav-items/themed/has-custom-theme-context");
23
24
  var _migration = require("../../top-nav-items/themed/migration");
24
25
  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); }
@@ -47,6 +48,9 @@ function TopNavEnd(_ref) {
47
48
  label = _ref$label === void 0 ? 'Actions' : _ref$label,
48
49
  _ref$showMoreButtonLa = _ref.showMoreButtonLabel,
49
50
  showMoreButtonLabel = _ref$showMoreButtonLa === void 0 ? 'Show more' : _ref$showMoreButtonLa;
51
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
52
+ // eslint-disable-next-line react-hooks/rules-of-hooks
53
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
50
54
  var _useState = (0, _react.useState)(false),
51
55
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
52
56
  isOpen = _useState2[0],
@@ -71,7 +75,7 @@ function TopNavEnd(_ref) {
71
75
  }, [query]);
72
76
  return /*#__PURE__*/_react.default.createElement("nav", {
73
77
  "aria-label": label,
74
- className: (0, _runtime.ax)([containerStyles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && containerStyles.fullHeightSidebar, (0, _platformFeatureFlags.fg)('team25-eu-jira-logo-updates-csm-jsm') && containerStyles.jiraProductLogoUpdate])
78
+ className: (0, _runtime.ax)([containerStyles.root, isFhsEnabled && containerStyles.fullHeightSidebar, (0, _platformFeatureFlags.fg)('team25-eu-jira-logo-updates-csm-jsm') && containerStyles.jiraProductLogoUpdate])
75
79
  }, isMobile ? /*#__PURE__*/_react.default.createElement(_popup.default, {
76
80
  isOpen: isOpen,
77
81
  onClose: function onClose() {
@@ -10,6 +10,7 @@ require("./top-nav-middle.compiled.css");
10
10
  var _runtime = require("@compiled/react/runtime");
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
13
14
  var styles = {
14
15
  root: "_zulpu2gc _yyhycs5v _1bsb1osq _4cvr1h6o _1e0c1txw _1bahh9n0 _181n11p5 _1j8b15b0 _lagd1bp4 _1t4c1ris _12e8h9n0",
15
16
  fullHeightSidebar: "_lcxv1wug"
@@ -25,7 +26,10 @@ var styles = {
25
26
  */
26
27
  function TopNavMiddle(_ref) {
27
28
  var children = _ref.children;
29
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
30
+ // eslint-disable-next-line react-hooks/rules-of-hooks
31
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
28
32
  return /*#__PURE__*/_react.default.createElement("div", {
29
- className: (0, _runtime.ax)([styles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebar])
33
+ className: (0, _runtime.ax)([styles.root, isFhsEnabled && styles.fullHeightSidebar])
30
34
  }, children);
31
35
  }
@@ -15,6 +15,7 @@ var _useStableRef = _interopRequireDefault(require("@atlaskit/ds-lib/use-stable-
15
15
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
16
  var _compiled = require("@atlaskit/primitives/compiled");
17
17
  var _topNavStartContext = require("../../../context/top-nav-start/top-nav-start-context");
18
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
18
19
  var _useSideNavVisibility3 = require("../side-nav/use-side-nav-visibility");
19
20
  var _visibilityContext = require("../side-nav/visibility-context");
20
21
  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); }
@@ -33,7 +34,7 @@ var flexGap = "var(--ds-space-050, 4px)";
33
34
  /**
34
35
  * Styles for the TopNavStart element.
35
36
  *
36
- * When `navx-full-height-sidebar` is enabled this is the styling for the inner element,
37
+ * When `useIsFhsEnabled` is true this is the styling for the inner element,
37
38
  * which re-enables pointer events.
38
39
  */
39
40
  var innerStyles = {
@@ -47,7 +48,7 @@ var innerStyles = {
47
48
  * Styles for the outer element, that does not have re-enabled pointer events and spans the entire
48
49
  * width of the TopNavStart area.
49
50
  *
50
- * This wrapper element is only rendered when `navx-full-height-sidebar` is enabled.
51
+ * This wrapper element is only rendered when `useIsFhsEnabled` is true.
51
52
  */
52
53
  var wrapperStyles = {
53
54
  root: "_vchhusvi _bozgutpp _4t3i1osq",
@@ -137,6 +138,9 @@ function TopNavStart(_ref3) {
137
138
  var children = _ref3.children,
138
139
  testId = _ref3.testId,
139
140
  sideNavToggleButton = _ref3.sideNavToggleButton;
141
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
142
+ // eslint-disable-next-line react-hooks/rules-of-hooks
143
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
140
144
  var ref = (0, _react.useContext)(_topNavStartContext.TopNavStartAttachRef);
141
145
  var elementRef = (0, _react.useRef)(null);
142
146
 
@@ -183,7 +187,7 @@ function TopNavStart(_ref3) {
183
187
  var isFirstRenderRef = (0, _react.useRef)(true);
184
188
  var sideNavState = (0, _react.useContext)(_visibilityContext.SideNavVisibilityState);
185
189
  (0, _react.useEffect)(function () {
186
- if (!(0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
190
+ if (!isFhsEnabled) {
187
191
  return;
188
192
  }
189
193
 
@@ -196,13 +200,13 @@ function TopNavStart(_ref3) {
196
200
  if (isFirstRenderRef.current) {
197
201
  isFirstRenderRef.current = false;
198
202
  }
199
- }, [sideNavState]);
203
+ }, [isFhsEnabled, sideNavState]);
200
204
 
201
205
  // Using a stable ref to avoid re-running the animation layout effect when the toggle button prop value changes, which
202
206
  // can happen a lot (e.g. if the parent re-renders)
203
207
  var sideNavToggleButtonStableRef = (0, _useStableRef.default)(sideNavToggleButton);
204
208
  (0, _react.useLayoutEffect)(function () {
205
- if (!(0, _platformFeatureFlags.fg)('navx-full-height-sidebar')) {
209
+ if (!isFhsEnabled) {
206
210
  return;
207
211
  }
208
212
 
@@ -239,19 +243,19 @@ function TopNavStart(_ref3) {
239
243
  });
240
244
 
241
245
  // This layout effect is called when the sidebar's desktop expansion state changes.
242
- }, [isExpandedOnDesktop, sideNavToggleButtonStableRef]);
243
- var TopNavStartInner = (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') ? TopNavStartInnerFHS : TopNavStartInnerOld;
246
+ }, [isExpandedOnDesktop, isFhsEnabled, sideNavToggleButtonStableRef]);
247
+ var TopNavStartInner = isFhsEnabled ? TopNavStartInnerFHS : TopNavStartInnerOld;
244
248
  return /*#__PURE__*/_react.default.createElement(TopNavStartInner, {
245
249
  ref: elementRef,
246
250
  testId: testId
247
- }, !(0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && sideNavToggleButton, sideNavToggleButton && (!isDesktop || !isExpandedOnDesktop) && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && /*#__PURE__*/_react.default.createElement("div", {
251
+ }, !isFhsEnabled && sideNavToggleButton, sideNavToggleButton && (!isDesktop || !isExpandedOnDesktop) && isFhsEnabled && /*#__PURE__*/_react.default.createElement("div", {
248
252
  key: sideNavToggleButtonKey,
249
253
  className: (0, _runtime.ax)([!isFirefox && toggleButtonWrapperStyles.root, !isFirefox && animationState.type === 'idle' && toggleButtonWrapperStyles.finalPosition, !isFirefox &&
250
254
  // Timing function is applied when the browser animates to the idle position.
251
255
  animationState.type === 'idle' && toggleButtonWrapperStyles.collapseAnimationTimingFunction, !isFirefox && animationState.type === 'collapse' && toggleButtonWrapperStyles.collapseAnimationStartPosition])
252
- }, sideNavToggleButton), (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') ? /*#__PURE__*/_react.default.createElement("div", {
256
+ }, sideNavToggleButton), isFhsEnabled ? /*#__PURE__*/_react.default.createElement("div", {
253
257
  className: (0, _runtime.ax)([childrenWrapperStyles.root, !isFirefox && childrenWrapperStyles.animationBaseStyles, !isFirefox && animationState.type === 'idle' && childrenWrapperStyles.finalPosition, !isFirefox && animationState.type === 'expand' && childrenWrapperStyles.expandAnimationStartPosition, !isFirefox && animationState.type === 'collapse' && childrenWrapperStyles.collapseAnimationStartPosition])
254
- }, children) : children, sideNavToggleButton && isDesktop && isExpandedOnDesktop && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && /*#__PURE__*/_react.default.createElement("div", {
258
+ }, children) : children, sideNavToggleButton && isDesktop && isExpandedOnDesktop && isFhsEnabled && /*#__PURE__*/_react.default.createElement("div", {
255
259
  key: sideNavToggleButtonKey,
256
260
  className: (0, _runtime.ax)([!isFirefox && toggleButtonWrapperStyles.root, toggleButtonWrapperStyles.alignEnd, !isFirefox && animationState.type === 'idle' && toggleButtonWrapperStyles.finalPosition, !isFirefox &&
257
261
  // Timing function is applied when the browser animates to the idle position.
@@ -14,6 +14,7 @@ var _runtime = require("@compiled/react/runtime");
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
16
  var _skipLinksContext = require("../../../context/skip-links/skip-links-context");
17
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
17
18
  var _hasCustomThemeContext = require("../../top-nav-items/themed/has-custom-theme-context");
18
19
  var _useCustomTheme = require("../../top-nav-items/themed/use-custom-theme");
19
20
  var _constants = require("../constants");
@@ -60,6 +61,9 @@ function TopNav(_ref) {
60
61
  testId = _ref.testId,
61
62
  providedId = _ref.id,
62
63
  UNSAFE_theme = _ref.UNSAFE_theme;
64
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
65
+ // eslint-disable-next-line react-hooks/rules-of-hooks
66
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
63
67
  var dangerouslyHoistSlotSizes = (0, _react.useContext)(_hoistSlotSizesContext.DangerouslyHoistSlotSizes);
64
68
  var id = (0, _idUtils.useLayoutId)({
65
69
  providedId: providedId
@@ -97,21 +101,21 @@ function TopNav(_ref) {
97
101
  isExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop;
98
102
  return /*#__PURE__*/React.createElement(_hasCustomThemeContext.HasCustomThemeContext.Provider, {
99
103
  value: customTheme.isEnabled
100
- }, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && /*#__PURE__*/React.createElement("div", {
104
+ }, isFhsEnabled && /*#__PURE__*/React.createElement("div", {
101
105
  "data-layout-slot": true,
102
106
  "aria-hidden": true
103
107
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
104
108
  ,
105
- style: (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') ? backgroundStyle : undefined,
109
+ style: isFhsEnabled ? backgroundStyle : undefined,
106
110
  className: (0, _runtime.ax)([backgroundStyles.root, isExpandedOnDesktop && backgroundStyles.sideNavExpanded])
107
111
  }), /*#__PURE__*/React.createElement("header", {
108
112
  id: id,
109
113
  "data-layout-slot": true,
110
- className: (0, _runtime.ax)([styles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebar, isExpandedOnDesktop && (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebarExpanded, xcss]),
114
+ className: (0, _runtime.ax)([styles.root, isFhsEnabled && styles.fullHeightSidebar, isExpandedOnDesktop && isFhsEnabled && styles.fullHeightSidebarExpanded, xcss]),
111
115
  "data-testid": testId
112
116
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
113
117
  ,
114
- style: (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') ? foregroundStyle : customTheme.isEnabled ? customTheme.style : undefined
118
+ style: isFhsEnabled ? foregroundStyle : customTheme.isEnabled ? customTheme.style : undefined
115
119
  }, /*#__PURE__*/React.createElement(_hoistUtils.HoistCssVarToLocalGrid, {
116
120
  variableName: _constants.topNavMountedVar,
117
121
  value: height
@@ -14,6 +14,7 @@ var _react2 = require("@compiled/react");
14
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
15
  var _compiled = require("@atlaskit/primitives/compiled");
16
16
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
17
+ var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
17
18
  var _hasCustomThemeContext = require("../themed/has-custom-theme-context");
18
19
  var _logoRenderer = require("./logo-renderer");
19
20
  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); }
@@ -53,6 +54,9 @@ var AppLogo = exports.AppLogo = function AppLogo(_ref) {
53
54
  href = _ref.href,
54
55
  icon = _ref.icon,
55
56
  onClick = _ref.onClick;
57
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
58
+ // eslint-disable-next-line react-hooks/rules-of-hooks
59
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
56
60
  var ref = (0, _react.useRef)(null);
57
61
  var nameRef = (0, _react.useRef)(null);
58
62
  var hasCustomTheme = (0, _hasCustomThemeContext.useHasCustomTheme)();
@@ -71,14 +75,14 @@ var AppLogo = exports.AppLogo = function AppLogo(_ref) {
71
75
  // @ts-expect-error - non-standard values for `borderRadius` and the custom theming interaction states
72
76
  // eslint-disable-next-line @compiled/no-suppress-xcss
73
77
  ,
74
- xcss: (0, _react2.cx)(anchorStyles.root, hasCustomTheme ? anchorStyles.interactionStatesCustomTheming : anchorStyles.interactionStates, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && anchorStyles.fullHeightSidebar),
78
+ xcss: (0, _react2.cx)(anchorStyles.root, hasCustomTheme ? anchorStyles.interactionStatesCustomTheming : anchorStyles.interactionStates, isFhsEnabled && anchorStyles.fullHeightSidebar),
75
79
  onClick: onClick
76
80
  }, /*#__PURE__*/_react.default.createElement(_compiled.Inline, {
77
81
  space: "space.075",
78
82
  alignBlock: "center",
79
- xcss: (0, _react2.cx)(logoWrapperStyles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && logoWrapperStyles.fullHeightSidebar)
83
+ xcss: (0, _react2.cx)(logoWrapperStyles.root, isFhsEnabled && logoWrapperStyles.fullHeightSidebar)
80
84
  }, /*#__PURE__*/_react.default.createElement("div", {
81
- className: (0, _runtime.ax)([iconContainerStyles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && iconContainerStyles.fullHeightSidebar])
85
+ className: (0, _runtime.ax)([iconContainerStyles.root, isFhsEnabled && iconContainerStyles.fullHeightSidebar])
82
86
  }, /*#__PURE__*/_react.default.createElement(_logoRenderer.LogoRenderer
83
87
  // Top nav always uses the new logo design
84
88
  , {
@@ -14,6 +14,7 @@ var _css = require("@atlaskit/css");
14
14
  var _search = _interopRequireDefault(require("@atlaskit/icon/core/search"));
15
15
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
16
  var _compiled = require("@atlaskit/primitives/compiled");
17
+ var _useIsFhsEnabled = require("../fhs-rollout/use-is-fhs-enabled");
17
18
  var _migration = require("./themed/migration");
18
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); }
19
20
  var styles = {
@@ -37,6 +38,9 @@ var Search = exports.Search = function Search(_ref) {
37
38
  elemAfter = _ref.elemAfter,
38
39
  interactionName = _ref.interactionName,
39
40
  ariaHaspopup = _ref['aria-haspopup'];
41
+ var isFhsEnabled = (0, _platformFeatureFlags.fg)('navx-2566-implement-fhs-rollout') ?
42
+ // eslint-disable-next-line react-hooks/rules-of-hooks
43
+ (0, _useIsFhsEnabled.useIsFhsEnabled)() : (0, _platformFeatureFlags.fg)('navx-full-height-sidebar');
40
44
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_compiled.Pressable, {
41
45
  style: {
42
46
  // To win the specificity war against Emotion we move this into inline styles
@@ -46,7 +50,7 @@ var Search = exports.Search = function Search(_ref) {
46
50
  border: "var(--ds-border-width, 1px)".concat(" solid ", "var(--ds-border-input, #8C8F97)")
47
51
  },
48
52
  onClick: onClick,
49
- xcss: (0, _css.cx)(styles.root, (0, _platformFeatureFlags.fg)('navx-full-height-sidebar') && styles.fullHeightSidebar),
53
+ xcss: (0, _css.cx)(styles.root, isFhsEnabled && styles.fullHeightSidebar),
50
54
  interactionName: interactionName,
51
55
  "aria-haspopup": ariaHaspopup
52
56
  }, /*#__PURE__*/_react.default.createElement("span", {
@@ -0,0 +1,3 @@
1
+ export { IsFhsEnabledContext } from '../ui/fhs-rollout/is-fhs-enabled-context';
2
+ export { IsFhsEnabledProvider } from '../ui/fhs-rollout/is-fhs-enabled-provider';
3
+ export { useIsFhsEnabled } from '../ui/fhs-rollout/use-is-fhs-enabled';
@@ -1,3 +1,6 @@
1
+ export { IsFhsEnabledContext } from './ui/fhs-rollout/is-fhs-enabled-context';
2
+ export { IsFhsEnabledProvider } from './ui/fhs-rollout/is-fhs-enabled-provider';
3
+ export { useIsFhsEnabled } from './ui/fhs-rollout/use-is-fhs-enabled';
1
4
  export { ExpandableMenuItem } from './ui/menu-item/expandable-menu-item/expandable-menu-item';
2
5
  export { ExpandableMenuItemTrigger } from './ui/menu-item/expandable-menu-item/expandable-menu-item-trigger';
3
6
  export { ExpandableMenuItemContent } from './ui/menu-item/expandable-menu-item/expandable-menu-item-content';