@atlaskit/navigation-system 11.2.3 → 11.3.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 (87) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/cjs/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +2 -2
  3. package/dist/cjs/ui/fhs-rollout/is-fhs-enabled-context.js +6 -6
  4. package/dist/cjs/ui/fhs-rollout/is-fhs-enabled-provider.js +14 -18
  5. package/dist/cjs/ui/fhs-rollout/use-is-fhs-enabled.js +5 -5
  6. package/dist/cjs/ui/page-layout/banner.compiled.css +0 -1
  7. package/dist/cjs/ui/page-layout/banner.js +2 -5
  8. package/dist/cjs/ui/page-layout/constants.js +1 -13
  9. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.compiled.css +0 -1
  10. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +2 -5
  11. package/dist/cjs/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +0 -68
  12. package/dist/cjs/ui/page-layout/ribbon.js +0 -7
  13. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +1 -9
  14. package/dist/cjs/ui/page-layout/side-nav/side-nav.compiled.css +3 -10
  15. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +21 -54
  16. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
  17. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +2 -5
  18. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.compiled.css +2 -12
  19. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +9 -250
  20. package/dist/cjs/ui/page-layout/top-nav/top-nav.compiled.css +1 -15
  21. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +5 -16
  22. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -2
  23. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +6 -11
  24. package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -2
  25. package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.js +3 -6
  26. package/dist/cjs/ui/top-nav-items/search.compiled.css +3 -2
  27. package/dist/cjs/ui/top-nav-items/search.js +3 -7
  28. package/dist/es2019/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +2 -2
  29. package/dist/es2019/ui/fhs-rollout/is-fhs-enabled-context.js +6 -4
  30. package/dist/es2019/ui/fhs-rollout/is-fhs-enabled-provider.js +12 -17
  31. package/dist/es2019/ui/fhs-rollout/use-is-fhs-enabled.js +5 -8
  32. package/dist/es2019/ui/page-layout/banner.compiled.css +0 -1
  33. package/dist/es2019/ui/page-layout/banner.js +2 -5
  34. package/dist/es2019/ui/page-layout/constants.js +0 -12
  35. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.compiled.css +0 -1
  36. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +2 -5
  37. package/dist/es2019/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +2 -61
  38. package/dist/es2019/ui/page-layout/ribbon.js +0 -7
  39. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +2 -8
  40. package/dist/es2019/ui/page-layout/side-nav/side-nav.compiled.css +3 -10
  41. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +5 -44
  42. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
  43. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +2 -5
  44. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.compiled.css +2 -12
  45. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +6 -243
  46. package/dist/es2019/ui/page-layout/top-nav/top-nav.compiled.css +1 -15
  47. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +5 -18
  48. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -2
  49. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +6 -11
  50. package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -2
  51. package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.js +3 -6
  52. package/dist/es2019/ui/top-nav-items/search.compiled.css +3 -2
  53. package/dist/es2019/ui/top-nav-items/search.js +3 -7
  54. package/dist/esm/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +2 -2
  55. package/dist/esm/ui/fhs-rollout/is-fhs-enabled-context.js +6 -6
  56. package/dist/esm/ui/fhs-rollout/is-fhs-enabled-provider.js +13 -16
  57. package/dist/esm/ui/fhs-rollout/use-is-fhs-enabled.js +5 -6
  58. package/dist/esm/ui/page-layout/banner.compiled.css +0 -1
  59. package/dist/esm/ui/page-layout/banner.js +2 -5
  60. package/dist/esm/ui/page-layout/constants.js +0 -12
  61. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.compiled.css +0 -1
  62. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +2 -5
  63. package/dist/esm/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +2 -71
  64. package/dist/esm/ui/page-layout/ribbon.js +0 -7
  65. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +2 -10
  66. package/dist/esm/ui/page-layout/side-nav/side-nav.compiled.css +3 -10
  67. package/dist/esm/ui/page-layout/side-nav/side-nav.js +22 -55
  68. package/dist/esm/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
  69. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +2 -5
  70. package/dist/esm/ui/page-layout/top-nav/top-nav-start.compiled.css +2 -12
  71. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +10 -250
  72. package/dist/esm/ui/page-layout/top-nav/top-nav.compiled.css +1 -15
  73. package/dist/esm/ui/page-layout/top-nav/top-nav.js +5 -16
  74. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -2
  75. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +6 -11
  76. package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -2
  77. package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.js +3 -6
  78. package/dist/esm/ui/top-nav-items/search.compiled.css +3 -2
  79. package/dist/esm/ui/top-nav-items/search.js +3 -7
  80. package/dist/types/ui/fhs-rollout/is-custom-is-fhs-enabled-context.d.ts +2 -2
  81. package/dist/types/ui/fhs-rollout/is-fhs-enabled-context.d.ts +5 -2
  82. package/dist/types/ui/fhs-rollout/is-fhs-enabled-provider.d.ts +9 -2
  83. package/dist/types/ui/fhs-rollout/use-is-fhs-enabled.d.ts +4 -1
  84. package/dist/types/ui/page-layout/constants.d.ts +0 -4
  85. package/dist/types/ui/page-layout/panel-splitter/panel-splitter.d.ts +0 -2
  86. package/dist/types/ui/page-layout/side-nav/side-nav.d.ts +0 -1
  87. package/package.json +6 -8
@@ -10,21 +10,18 @@ exports.Search = void 0;
10
10
  require("./search.compiled.css");
11
11
  var _runtime = require("@compiled/react/runtime");
12
12
  var _react = _interopRequireWildcard(require("react"));
13
- var _css = require("@atlaskit/css");
14
13
  var _search = _interopRequireDefault(require("@atlaskit/icon/core/search"));
15
14
  var _fg = require("@atlaskit/platform-feature-flags/fg");
16
15
  var _pressable = require("@atlaskit/primitives/compiled/pressable");
17
16
  var _show = require("@atlaskit/primitives/compiled/show");
18
17
  var _text = require("@atlaskit/primitives/compiled/text");
19
- var _useIsFhsEnabled = require("../fhs-rollout/use-is-fhs-enabled");
20
18
  var _iconButton = require("./themed/icon-button");
21
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); }
22
20
  var styles = {
23
- root: "_2rko1qi0 _1rjcze3t _18zr12x7 _yv0e1mfv _4cvr1h6o _bfhk1j9a _vchhusvi _80om1kdv _1e0cglyw _4t3izwfg _p12f1kvu _1bsb1osq _irr3l4ek _1di6r01l _114b11p5",
21
+ root: "_2rko1qi0 _v564k6bl _1rjcze3t _18zr12x7 _yv0e1mfv _4cvr1h6o _bfhk1j9a _vchhusvi _80om1kdv _1e0cglyw _4t3izwfg _p12f1kvu _1bsb1osq _irr3l4ek _1ggl5xtf _1di6r01l _114b11p5",
24
22
  buttonText: "_yyhyjvu9 _1ii7kb7n",
25
23
  iconBefore: "_yyhykb7n _1ii7kb7n _1e0c1txw",
26
- elemAfter: "_yyhy11wp _1ii7kb7n _1e0c1txw",
27
- fullHeightSidebar: "_p12fktbq"
24
+ elemAfter: "_yyhy11wp _1ii7kb7n _1e0c1txw"
28
25
  };
29
26
  /**
30
27
  * __Search__
@@ -39,7 +36,6 @@ var Search = exports.Search = function Search(_ref) {
39
36
  elemAfter = _ref.elemAfter,
40
37
  interactionName = _ref.interactionName,
41
38
  ariaHaspopup = _ref['aria-haspopup'];
42
- var isFhsEnabled = (0, _useIsFhsEnabled.useIsFhsEnabled)();
43
39
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_pressable.Pressable, {
44
40
  style: {
45
41
  // To win the specificity war against Emotion we move this into inline styles
@@ -49,7 +45,7 @@ var Search = exports.Search = function Search(_ref) {
49
45
  border: "var(--ds-border-width, 1px)".concat(" solid ", (0, _fg.fg)('platform-dst-tokens-finesse') ? "var(--ds-border-input-search, #0B120E24)" : "var(--ds-border-input, #8C8F97)")
50
46
  },
51
47
  onClick: onClick,
52
- xcss: (0, _css.cx)(styles.root, isFhsEnabled && styles.fullHeightSidebar),
48
+ xcss: styles.root,
53
49
  interactionName: interactionName,
54
50
  "aria-haspopup": ariaHaspopup
55
51
  }, /*#__PURE__*/_react.default.createElement("span", {
@@ -3,7 +3,7 @@ import { createContext } from 'react';
3
3
  /**
4
4
  * __Is custom is fhs enabled context__
5
5
  *
6
- * Tracks if a custom value has been provided for `IsFhsEnabledContext`.
7
- * Used to prevent nesting of the `IsFhsEnabledProvider`.
6
+ * @deprecated Full height sidebar (FHS) has been rolled back. This context is no longer used and
7
+ * will be deleted in a future major release.
8
8
  */
9
9
  export const IsCustomIsFhsEnabledContext = /*#__PURE__*/createContext(false);
@@ -1,9 +1,11 @@
1
1
  import { createContext } from 'react';
2
- import { fg } from '@atlaskit/platform-feature-flags/fg';
3
2
  /**
4
3
  * __Is fhs enabled context__
5
4
  *
6
- * Tracks is FHS enabled.
7
- * Defaults to feature gate 'navx-full-height-sidebar'.
5
+ * @deprecated Full height sidebar (FHS) has been rolled back and this context is no longer read by
6
+ * any platform component. Its value is ignored. Remove usages of it; it will be deleted in a future
7
+ * major release.
8
+ *
9
+ * See https://hello.atlassian.net/wiki/spaces/navx/pages/7189669176/Full+Height+Sidebar+FHS+Rollback+Plan
8
10
  */
9
- export const IsFhsEnabledContext = /*#__PURE__*/createContext(() => fg('navx-full-height-sidebar'));
11
+ export const IsFhsEnabledContext = /*#__PURE__*/createContext(false);
@@ -1,23 +1,18 @@
1
- import React, { useContext } from 'react';
2
- import { IsCustomIsFhsEnabledContext } from './is-custom-is-fhs-enabled-context';
3
- import { IsFhsEnabledContext } from './is-fhs-enabled-context';
1
+ import React from 'react';
4
2
 
5
3
  /**
6
4
  * __Is fhs enabled provider__
7
5
  *
8
- * Used to provide a custom value for is FHS enabled.
6
+ * @deprecated Full height sidebar (FHS) has been rolled back. This provider is now a passthrough:
7
+ * it renders its children and ignores `value`. Remove it from your app; it will be deleted in a
8
+ * future major release.
9
+ *
10
+ * See https://hello.atlassian.net/wiki/spaces/navx/pages/7189669176/Full+Height+Sidebar+FHS+Rollback+Plan
9
11
  */
10
12
  export const IsFhsEnabledProvider = ({
11
- children,
12
- value
13
- }) => {
14
- const isCustomIsFhsEnabled = useContext(IsCustomIsFhsEnabledContext);
15
- if (isCustomIsFhsEnabled) {
16
- throw new Error('A custom value for IsFhsEnabledContext has already been provided');
17
- }
18
- return /*#__PURE__*/React.createElement(IsCustomIsFhsEnabledContext.Provider, {
19
- value: true
20
- }, /*#__PURE__*/React.createElement(IsFhsEnabledContext.Provider, {
21
- value: value
22
- }, children));
23
- };
13
+ children
14
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, children);
15
+
16
+ /**
17
+ * @deprecated Full height sidebar (FHS) has been rolled back. `value` is ignored.
18
+ */
@@ -1,12 +1,9 @@
1
- import { useContext } from 'react';
2
- import { IsFhsEnabledContext } from './is-fhs-enabled-context';
3
-
4
1
  /**
5
2
  * __Use is fhs enabled__
6
3
  *
7
- * Retrieves is FHS enabled.
4
+ * @deprecated Full height sidebar (FHS) has been rolled back. This hook always returns `false`.
5
+ * Remove usages of it (treat it as `false`); it will be deleted in a future major release.
6
+ *
7
+ * See https://hello.atlassian.net/wiki/spaces/navx/pages/7189669176/Full+Height+Sidebar+FHS+Rollback+Plan
8
8
  */
9
- export const useIsFhsEnabled = () => {
10
- const isFhsEnabled = useContext(IsFhsEnabledContext);
11
- return typeof isFhsEnabled === 'boolean' ? isFhsEnabled : isFhsEnabled();
12
- };
9
+ export const useIsFhsEnabled = () => false;
@@ -1,6 +1,5 @@
1
1
  ._nd5ldkfm{grid-area:banner}._152tidpf{inset-block-start:0}
2
2
  ._18m915vq{overflow-y:hidden}
3
- ._1pby11wp{z-index:3}
4
3
  ._1pbyegat{z-index:4}
5
4
  ._1reo15vq{overflow-x:hidden}
6
5
  ._4t3iutvi{height:var(--n_bnrM)}
@@ -5,15 +5,13 @@ import { ax, ix } from "@compiled/react/runtime";
5
5
  import { useContext } from 'react';
6
6
  import { fg } from '@atlaskit/platform-feature-flags/fg';
7
7
  import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
8
- import { useIsFhsEnabled } from '../fhs-rollout/use-is-fhs-enabled';
9
8
  import { bannerMountedVar, UNSAFE_bannerVar } from './constants';
10
9
  import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
11
10
  import { HoistCssVarToLocalGrid } from './hoist-css-var-to-local-grid';
12
11
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
13
12
  import { useLayoutId } from './use-layout-id';
14
13
  const styles = {
15
- root: "_nd5ldkfm _1reo15vq _18m915vq _4t3iutvi _152tidpf _kqsw1if8 _1pbyegat",
16
- fullHeightSidebar: "_1pby11wp"
14
+ root: "_nd5ldkfm _1reo15vq _18m915vq _4t3iutvi _152tidpf _kqsw1if8 _1pbyegat"
17
15
  };
18
16
 
19
17
  /**
@@ -34,7 +32,6 @@ export function Banner({
34
32
  const id = useLayoutId({
35
33
  providedId
36
34
  });
37
- const isFhsEnabled = useIsFhsEnabled();
38
35
 
39
36
  /**
40
37
  * Don't show the skip link if the slot has 0 height.
@@ -49,7 +46,7 @@ export function Banner({
49
46
  return /*#__PURE__*/React.createElement("div", {
50
47
  id: id,
51
48
  "data-layout-slot": true,
52
- className: ax([styles.root, isFhsEnabled && styles.fullHeightSidebar, xcss]),
49
+ className: ax([styles.root, xcss]),
53
50
  "data-testid": testId
54
51
  }, /*#__PURE__*/React.createElement(HoistCssVarToLocalGrid, {
55
52
  variableName: bannerMountedVar,
@@ -59,23 +59,11 @@ export const localSlotLayers = {
59
59
  // Chat overlays the app, including TopNav and SideNav, below the banner.
60
60
  chatPanelOverlay: 5,
61
61
  ribbon: 4,
62
- // The side nav panel splitter is layered above the top nav when FHS is enabled.
63
- // It has the same z-index value, but is rendered after the top nav in the DOM so is stacked above.
64
- sideNavPanelSplitterFHS: 4,
65
62
  topBar: 4,
66
63
  banner: 4,
67
- // When FHS is enabled, the side nav is layered below the top nav,
68
- // but above the panel
69
- bannerFHS: 3,
70
- topNavFHS: 3,
71
64
  sideNav: 2,
72
65
  panelSmallViewports: 1
73
66
  };
74
67
  export const openLayerObserverSideNavNamespace = 'side-nav';
75
- // We have separate OpenLayerObserver namespaces for each top nav layout area, instead of a single namespace for the entire top nav,
76
- // as we need to know if there are open layers in TopNavStart specifically to prevent the side nav from peeking.
77
- // The OpenLayerObserver doesn't support nested namespaces. We could update it, but for now it's simple enough to just have separate
78
- // namespaces.
79
- export const openLayerObserverTopNavStartNamespace = 'top-nav-start';
80
68
  export const openLayerObserverTopNavMiddleNamespace = 'top-nav-middle';
81
69
  export const openLayerObserverTopNavEndNamespace = 'top-nav-end';
@@ -31,7 +31,6 @@
31
31
  ._vp7g6x5g:focus-within{color:var(--ds-text-selected,#1868db)}
32
32
  ._30l31ihb:hover{color:var(--ds-border-bold,#7d818a)}
33
33
  ._30l36x5g:hover{color:var(--ds-text-selected,#1868db)}
34
- ._d0al11mm:hover{cursor:col-resize}
35
34
  ._d0aluf7j:hover{cursor:ew-resize}
36
35
  ._1gglglyw:active{transition:none}
37
36
  ._9h8h12zz:active{color:var(--ds-link-pressed,#1558bc)}
@@ -19,7 +19,6 @@ import { preventUnhandled } from '@atlaskit/pragmatic-drag-and-drop/utils/preven
19
19
  import Tooltip from '@atlaskit/tooltip/Tooltip';
20
20
  import TooltipContainer from '@atlaskit/tooltip/TooltipContainer';
21
21
  import VisuallyHidden from '@atlaskit/visually-hidden/visually-hidden';
22
- import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
23
22
  import { contentInsetBlockStart } from '../constants';
24
23
  import { convertResizeBoundToPixels } from './convert-resize-bound-to-pixels';
25
24
  import { getPercentageWithinPixelBounds } from './get-percentage-within-pixel-bounds';
@@ -43,8 +42,7 @@ const containerStyles = {
43
42
  };
44
43
  const grabAreaStyles = {
45
44
  root: "_1bsbl52n _4t3i1osq _kqswstnw _1q51ze3t _y4tize3t _85i5ze3t _bozgze3t _syaz1j28 _bfhk1j28 _1oec6ebc _1lww188d _6fl41ytf _k8m01ylx _d0aluf7j _vp7g6x5g _30l36x5g _1gglglyw _9h8h12zz",
46
- rootFinesse: "_vp7g1ihb _30l31ihb _9h8hq98m",
47
- fullHeightSidebar: "_d0al11mm"
45
+ rootFinesse: "_vp7g1ihb _30l31ihb _9h8hq98m"
48
46
  };
49
47
  const lineStyles = {
50
48
  root: "_kqswstnw _1e0c1ule _1bsb1l7b _4t3i1osq _syaz1kw7 _bfhk1r31 _1e021v6z"
@@ -145,7 +143,6 @@ const PortaledPanelSplitter = ({
145
143
  tooltipContent,
146
144
  shortcut
147
145
  }) => {
148
- const isFhsEnabled = useIsFhsEnabled();
149
146
  const splitterRef = useRef(null);
150
147
  const labelId = useId();
151
148
  // Separate state used for the input range width to remove the UI's dependency on the "persisted" layout state value being updated
@@ -436,7 +433,7 @@ const PortaledPanelSplitter = ({
436
433
  ref: splitterRef,
437
434
  "data-testid": testId,
438
435
  onDoubleClick: onDoubleClick,
439
- className: ax([grabAreaStyles.root, fg('platform-dst-tokens-finesse') && grabAreaStyles.rootFinesse, isFhsEnabled && grabAreaStyles.fullHeightSidebar])
436
+ className: ax([grabAreaStyles.root, fg('platform-dst-tokens-finesse') && grabAreaStyles.rootFinesse])
440
437
  }, /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("input", {
441
438
  type: "range",
442
439
  value: rangeInputValue,
@@ -1,60 +1,10 @@
1
- import React, { useContext, useEffect, useState } from 'react';
1
+ import React, { useContext } from 'react';
2
2
  import invariant from 'tiny-invariant';
3
- import { useOpenLayerObserver } from '@atlaskit/layering/use-open-layer-observer';
4
- import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
5
- import { openLayerObserverSideNavNamespace, openLayerObserverTopNavEndNamespace, openLayerObserverTopNavMiddleNamespace, openLayerObserverTopNavStartNamespace, sideNavPanelSplitterId } from '../constants';
3
+ import { sideNavPanelSplitterId } from '../constants';
6
4
  import { useToggleSideNav } from '../side-nav/use-toggle-side-nav';
7
5
  import { OnDoubleClickContext } from './on-double-click-context';
8
6
  import { PanelSplitter } from './panel-splitter';
9
7
  import { PanelSplitterContext } from './panel-splitter-context';
10
-
11
- /**
12
- * Namespaces to check for open layers that would interfere with the panel splitter.
13
- *
14
- * Placed outside the component for stability, as the list is used as an effect dependency.
15
- */
16
- const openLayerNamespacesToCheck = [
17
- // The side nav panel splitter is layered above the side nav, so needs to be disabled when there are open popups in the side nav.
18
- openLayerObserverSideNavNamespace,
19
- // The side nav panel splitter is layered above the top nav, so needs to be disabled when there are open popups in the top nav.
20
- openLayerObserverTopNavStartNamespace, openLayerObserverTopNavMiddleNamespace, openLayerObserverTopNavEndNamespace];
21
-
22
- /**
23
- * Returns whether there are any open popups in the side nav or top nav
24
- */
25
- function useHasOpenPopupsInSideNavOrTopNav() {
26
- const isFhsEnabled = useIsFhsEnabled();
27
- const openLayerObserver = useOpenLayerObserver();
28
- // Setting the initial state to false, as it is unlikely that there would be any open popups when the app starts.
29
- const [hasOpenPopups, setHasOpenPopups] = useState(false);
30
- useEffect(() => {
31
- if (!openLayerObserver || !isFhsEnabled) {
32
- return;
33
- }
34
- function updateState() {
35
- if (!openLayerObserver) {
36
- return;
37
- }
38
- const hasAnyOpenLayers = openLayerNamespacesToCheck.some(namespace => openLayerObserver.getCount({
39
- namespace,
40
- type: 'popup'
41
- }) > 0);
42
- setHasOpenPopups(hasAnyOpenLayers);
43
- }
44
-
45
- // Initial check. We do this _in case_ a popup is already open when the component mounts.
46
- updateState();
47
-
48
- // Subscribe to each namespace
49
- const cleanups = openLayerNamespacesToCheck.map(namespace => openLayerObserver.onChange(updateState, {
50
- namespace
51
- }));
52
- return function cleanupHook() {
53
- cleanups.forEach(cleanup => cleanup());
54
- };
55
- }, [isFhsEnabled, openLayerObserver]);
56
- return hasOpenPopups;
57
- }
58
8
  /**
59
9
  * _SideNavPanelSplitter_
60
10
  *
@@ -81,15 +31,6 @@ export const SideNavPanelSplitter = ({
81
31
  const toggleSideNav = useToggleSideNav({
82
32
  trigger: 'double-click'
83
33
  });
84
- const isFhsEnabled = useIsFhsEnabled();
85
-
86
- // The logic and state for disabling the panel splitter when there are open popups
87
- // in the side nav or top nav is being placed here, instead of in `SideNav`, to prevent
88
- // re-rendering the side nav anytime the number of open popups changes.
89
- const hasOpenLayersInSideNavOrTopNav = useHasOpenPopupsInSideNavOrTopNav();
90
- if (hasOpenLayersInSideNavOrTopNav && isFhsEnabled) {
91
- return null;
92
- }
93
34
  return /*#__PURE__*/React.createElement(OnDoubleClickContext.Provider, {
94
35
  value: shouldCollapseOnDoubleClick ? toggleSideNav : undefined
95
36
  }, /*#__PURE__*/React.createElement(PanelSplitter, {
@@ -10,15 +10,8 @@ import { useLayoutId } from './use-layout-id';
10
10
  const localSlotLayersStatic = {
11
11
  chatPanelOverlay: 5,
12
12
  ribbon: 4,
13
- // The side nav panel splitter is layered above the top nav when FHS is enabled.
14
- // It has the same z-index value, but is rendered after the top nav in the DOM so is stacked above.
15
- sideNavPanelSplitterFHS: 4,
16
13
  topBar: 4,
17
14
  banner: 4,
18
- // When FHS is enabled, the side nav is layered below the top nav,
19
- // but above the panel
20
- bannerFHS: 3,
21
- topNavFHS: 3,
22
15
  sideNav: 2,
23
16
  panelSmallViewports: 1
24
17
  };
@@ -1,10 +1,7 @@
1
1
  /* side-nav-content.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./side-nav-content.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
- import React, { forwardRef, useMemo, useRef } from 'react';
5
- import mergeRefs from '@atlaskit/ds-lib/merge-refs';
6
- import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
7
-
4
+ import React, { forwardRef } from 'react';
8
5
  /**
9
6
  * The main content of the side nav, filling up the middle section. It acts as a scroll container.
10
7
  *
@@ -22,11 +19,8 @@ function _SideNavContent({
22
19
  children,
23
20
  testId
24
21
  }, forwardedRef) {
25
- const isFhsEnabled = useIsFhsEnabled();
26
- const internalRef = useRef(null);
27
- const mergedRef = useMemo(() => mergeRefs([internalRef, forwardedRef]), [forwardedRef]);
28
22
  return /*#__PURE__*/React.createElement("div", {
29
- ref: isFhsEnabled ? mergedRef : forwardedRef,
23
+ ref: forwardedRef,
30
24
  "data-testid": testId,
31
25
  className: ax([styles.scrollContainer])
32
26
  }, /*#__PURE__*/React.createElement("div", {
@@ -1,6 +1,5 @@
1
1
  ._191wglyw{border-inline-start:none}
2
2
  ._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
3
- ._15yekb7n{--animation-direction:1}
4
3
  ._16qs130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}
5
4
  ._1bah1yb4{justify-content:space-between}
6
5
  ._1bsb1ego{width:min(90%,20pc)}
@@ -9,24 +8,18 @@
9
8
  ._1e0cglyw{display:none}
10
9
  ._1p2s1vfh{--exit-animation:var(--ds-sidenav-exit-left,200ms cubic-bezier(0,0.4,0,1) SlideOut100PercentLeft)}
11
10
  ._1pbycs5v{z-index:2}
12
- ._1pbyegat{z-index:4}
13
11
  ._2lx21bp4{flex-direction:column}
14
12
  ._4t3i1osq{height:100%}
15
13
  ._4t3ieqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}
16
14
  ._bfhk1bhr{background-color:var(--ds-surface-overlay,#fff)}
17
15
  ._cjprp6j8{--enter-animation:var(--ds-sidenav-enter-left,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentLeft)}
18
16
  ._kqsw1if8{position:sticky}
19
- ._kqsw1n9t{position:fixed}
20
- ._t9ectl5p{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px))))}
21
- ._u7coidpf{inset-block-end:0}
22
17
  ._vchhusvi{box-sizing:border-box}
23
18
  [dir=rtl] ._1jq41dy6{--enter-animation:var(--ds-sidenav-enter-right,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentRight)}
24
19
  [dir=rtl] ._2qe0jwwr{--exit-animation:var(--ds-sidenav-exit-right,200ms cubic-bezier(0,0.4,0,1) SlideOut100PercentRight)}
25
- [dir=rtl] ._65m41mrw{--animation-direction:-1}
26
- @media (prefers-reduced-motion:no-preference){._10t81t0s{transition-property:display}._1vrh1a5r{transition-behavior:allow-discrete}._xrrpi9qs{transition-duration:var(--ds-duration-medium,.2s)}._10t88iot{transition-property:transform,display}._xrrpfnf5{transition-duration:.2s}._1lh81gzg{grid-area:main}._1xq51mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._k1affm5y{animation:var(--exit-animation)}@starting-style{._1nu51p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._1xq51ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._k1af10ed{animation:var(--enter-animation)}}
20
+ @media (prefers-reduced-motion:no-preference){._10t81t0s{transition-property:display}._1vrh1a5r{transition-behavior:allow-discrete}._xrrpi9qs{transition-duration:var(--ds-duration-medium,.2s)}._1lh81gzg{grid-area:main}._k1affm5y{animation:var(--exit-animation)}._k1af10ed{animation:var(--enter-animation)}}
27
21
  @media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
28
- @media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._p0az1elq{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px)) - var(--ds-border-width, 1px)))}._cpcf1gzg._cpcf1gzg{grid-area:main}._6kttglyw._6kttglyw{border-inline-end:none}._w8v11bhr._w8v11bhr{background-color:var(--ds-surface-overlay,#fff)}._1jug130s._1jug130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._dm2518uv{display:initial}._dm25glyw{display:none}._qiln1gzg{grid-area:main}._p5clglyw{border-inline-end:none}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._qilnk0mc{grid-area:side-nav}._p5clia51{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#0b120e24)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
29
- @media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._n2infm5y{animation:var(--exit-animation)}._17ly1wzp{transition-property:grid-area,display}._hjoi1wsm{transition-duration:var(--ds-duration-instant,0ms),var(--ds-duration-medium,.2s)}._1wxo1cio{transition-delay:19ms,var(--ds-duration-instant,0ms)}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}@starting-style{._1xpz1gzg{grid-area:main}}._1sg8k0mc{grid-area:side-nav}._n2in10ed{animation:var(--enter-animation)}._17ly1q8v{transition-property:grid-area}._hjoi147i{transition-duration:var(--ds-duration-instant,0ms)}._1wxo4so3{transition-delay:24ms}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._vgub1ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._hjoifnf5{transition-duration:.2s}._hjoi1mzy{transition-duration:var(--ds-duration-long,.25s)}._hjoii9qs{transition-duration:var(--ds-duration-medium,.2s)}}
30
- @media (prefers-reduced-motion:no-preference) and (not (min-width:64rem)){._aadi1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}
22
+ @media (min-width:64rem){._cpcf1gzg._cpcf1gzg{grid-area:main}._6kttglyw._6kttglyw{border-inline-end:none}._w8v11bhr._w8v11bhr{background-color:var(--ds-surface-overlay,#fff)}._1jug130s._1jug130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._dm2518uv{display:initial}._dm25glyw{display:none}._qiln1gzg{grid-area:main}._p5clglyw{border-inline-end:none}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._qilnk0mc{grid-area:side-nav}._p5clia51{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#0b120e24)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
23
+ @media (prefers-reduced-motion:no-preference) and (min-width:64rem){._1sg81gzg{grid-area:main}._n2infm5y{animation:var(--exit-animation)}._17ly1wzp{transition-property:grid-area,display}._hjoi1wsm{transition-duration:var(--ds-duration-instant,0ms),var(--ds-duration-medium,.2s)}._1wxo1cio{transition-delay:19ms,var(--ds-duration-instant,0ms)}@starting-style{._1xpz1gzg{grid-area:main}}._1sg8k0mc{grid-area:side-nav}._n2in10ed{animation:var(--enter-animation)}._17ly1q8v{transition-property:grid-area}._hjoi147i{transition-duration:var(--ds-duration-instant,0ms)}._1wxo4so3{transition-delay:24ms}}
31
24
  @media not (min-width:64rem){._89fi1b6c{grid-area:main/aside/aside/aside}}
32
25
  @supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xci10ed{animation:var(--enter-animation)}._1tpv1mzy{transition-duration:var(--ds-duration-long,.25s)}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xcifm5y{animation:var(--exit-animation)}._1tpvi9qs{transition-duration:var(--ds-duration-medium,.2s)}._sylc1a5r{transition-behavior:allow-discrete}}}
@@ -16,8 +16,7 @@ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/el
16
16
 
17
17
  import { useSkipLinkInternal } from '../../../context/skip-links/use-skip-link-internal';
18
18
  import { TopNavStartElement } from '../../../context/top-nav-start/top-nav-start-element';
19
- import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
20
- import { UNSAFE_sideNavLayoutVar, mainMinimumWidthVar, openLayerObserverSideNavNamespace, openLayerObserverTopNavStartNamespace, sideNavLiveWidthVar, sideNavPanelSplitterId, sideNavVar } from '../constants';
19
+ import { UNSAFE_sideNavLayoutVar, mainMinimumWidthVar, openLayerObserverSideNavNamespace, sideNavLiveWidthVar, sideNavPanelSplitterId, sideNavVar } from '../constants';
21
20
  import { DangerouslyHoistCssVarToDocumentRoot } from '../dangerously-hoist-css-var-to-document-root';
22
21
  import { DangerouslyHoistSlotSizes } from '../hoist-slot-sizes-context';
23
22
  import { convertResizeBoundToPixels } from '../panel-splitter/convert-resize-bound-to-pixels';
@@ -40,9 +39,6 @@ import { useSideNavVisibility } from './use-side-nav-visibility';
40
39
  import { useSideNavVisibilityCallbacks } from './use-side-nav-visibility-callbacks';
41
40
  import { useToggleSideNav } from './use-toggle-side-nav';
42
41
  const panelSplitterResizingVar = '--n_snvRsz';
43
- // Used to share the side nav width with the panel splitter, which is rendered outside the side nav element
44
- // but positioned to stay at its right edge.
45
- const sideNavClampedWidthVar = '--n_snvW';
46
42
  const fallbackMinWidth = '240px';
47
43
  function getPixelCustomProperty(element, propertyName, fallback) {
48
44
  const raw = getComputedStyle(element).getPropertyValue(propertyName).trim();
@@ -56,28 +52,16 @@ function getPixelCustomProperty(element, propertyName, fallback) {
56
52
  * Avoiding nesting the `@supports` at-rule inside of `@media` means Compiled can remove duplicate styles from the generated CSS.
57
53
  */
58
54
  const isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
59
- const panelSplitterPortalTargetStyles = {
60
- root: "_kqsw1n9t _1pbyegat _u7coidpf _t9ectl5p _4t3ieqxy _165t56xv _p0az1elq"
61
- };
62
55
  const styles = {
63
56
  root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw _89fi1b6c",
64
57
  chatPanelSizing: "_1bsbhc79",
65
58
  managedOverlay: "_cpcf1gzg _6kttglyw _w8v11bhr _1jug130s",
66
59
  flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
67
60
  flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
68
- animationRTLSupport: "_15yekb7n _65m41mrw",
69
- flyoutBaseStylesFullHeightSidebar: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _17ly8iot _177m1a5r",
70
- flyoutOpenFullHeightSidebar: "_hjoifnf5 _vgub1ku9 _s2eg1p9u",
71
- flyoutAnimateClosedFullHeightSidebar: "_dm25glyw _hjoifnf5 _vgub1mm8 _hh1u1p9u",
72
61
  flexContainer: "_4t3i1osq _1e0c1txw _2lx21bp4 _1bah1yb4",
73
62
  hiddenMobileAndDesktop: "_1e0cglyw",
74
63
  hiddenMobileOnly: "_1e0cglyw _dm2518uv",
75
- hiddenDesktopOnly: "_dm25glyw",
76
- animationBaseStyles: "_10t88iot _1vrh1a5r _xrrpfnf5",
77
- expandAnimationMobile: "_1xq51ku9 _1nu51p9u",
78
- collapseAnimationMobile: "_1lh81gzg _1xq51mm8 _aadi1p9u",
79
- expandAnimationDesktop: "_1sg8k0mc _vgub1ku9 _s2eg1p9u",
80
- collapseAnimationDesktop: "_1sg81gzg _vgub1mm8 _hh1u1p9u"
64
+ hiddenDesktopOnly: "_dm25glyw"
81
65
  };
82
66
 
83
67
  /**
@@ -99,8 +83,6 @@ const motionUpliftStyles = {
99
83
  collapseAnimationMobile: "_1lh81gzg _k1affm5y",
100
84
  flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _4xci10ed _1tpv1mzy _sylc1a5r",
101
85
  flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _4xcifm5y _1tpvi9qs _sylc1a5r",
102
- flyoutOpenFullHeightSidebar: "_n2in10ed _hjoi1mzy",
103
- flyoutAnimateClosedFullHeightSidebar: "_dm25glyw _n2infm5y _hjoii9qs",
104
86
  expandAnimationDesktop: "_1sg8k0mc _n2in10ed _1xpz1gzg _17ly1q8v _hjoi147i _1wxo4so3",
105
87
  collapseAnimationDesktop: "_1sg81gzg _n2infm5y _17ly1wzp _hjoi1wsm _1wxo1cio"
106
88
  };
@@ -129,7 +111,6 @@ function SideNavInternal({
129
111
  }) {
130
112
  var _managedSizing$mode, _managedSizing$width, _sideNavState$lastTri;
131
113
  const isChatPanelLayoutEnabled = fg('platform-dst-chat-panel-layout');
132
- const isFhsEnabled = useIsFhsEnabled();
133
114
  const id = useLayoutId({
134
115
  providedId
135
116
  });
@@ -258,7 +239,6 @@ function SideNavInternal({
258
239
  const clampedWidth = !isChatPanelLayoutEnabled ? `clamp(240px, ${inlineWidth}px, 50vw)` : managedSizing ? `${renderedWidth}px` : `clamp(${minWidth}, ${renderedWidth}px, ${configuredMaxWidth})`;
259
240
  const dangerouslyHoistSlotSizes = useContext(DangerouslyHoistSlotSizes);
260
241
  const navRef = useRef(null);
261
- const panelSplitterPortalTargetRef = useRef(null);
262
242
  const getResizeBounds = useCallback(() => {
263
243
  if (!isChatPanelLayoutEnabled) {
264
244
  return {
@@ -361,13 +341,6 @@ function SideNavInternal({
361
341
  }
362
342
  }
363
343
  function open() {
364
- // Prevent the flyout from being opened if there are any open layers in the top nav start
365
- if (openLayerObserver && openLayerObserver.getCount({
366
- namespace: openLayerObserverTopNavStartNamespace,
367
- type: 'popup'
368
- }) > 0) {
369
- return;
370
- }
371
344
  const prevFlyoutState = flyoutStateRef.current;
372
345
  tryAbortPendingClose();
373
346
  flyoutStateRef.current = {
@@ -866,7 +839,7 @@ function SideNavInternal({
866
839
  const isMotionUpliftEnabled = fg('platform-dst-motion-uplift-sidenav');
867
840
 
868
841
  // This is only used for the regular expand and collapse animations, not the flyout animations.
869
- const shouldShowSidebarToggleAnimation = (isMotionUpliftEnabled || isFhsEnabled) &&
842
+ const shouldShowSidebarToggleAnimation = isMotionUpliftEnabled &&
870
843
  // We do not apply the animation styles on the initial render, as the `@starting-style` rule will cause the sidebar to
871
844
  // slide in initially.
872
845
  hasExpandedStateChanged &&
@@ -900,7 +873,7 @@ function SideNavInternal({
900
873
  },
901
874
  ref: mergedRef,
902
875
  "data-testid": testId,
903
- className: ax([styles.root, isChatPanelLayoutEnabled && styles.chatPanelSizing, isChatPanelLayoutEnabled && (managedSizing === null || managedSizing === void 0 ? void 0 : managedSizing.mode) === 'overlay' && styles.managedOverlay, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isMotionUpliftEnabled && motionUpliftStyles.animationRTLSupport, !isMotionUpliftEnabled && isFhsEnabled && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.animationBaseStyles, shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationMobile, isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationDesktop, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosed, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && !isMotionUpliftEnabled && 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) === 'open' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosedFullHeightSidebar])
876
+ className: ax([styles.root, isChatPanelLayoutEnabled && styles.chatPanelSizing, isChatPanelLayoutEnabled && (managedSizing === null || managedSizing === void 0 ? void 0 : managedSizing.mode) === 'overlay' && styles.managedOverlay, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isMotionUpliftEnabled && motionUpliftStyles.animationRTLSupport, shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isMotionUpliftEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosed, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isMotionUpliftEnabled && styles.flyoutAnimateClosed])
904
877
  }), /*#__PURE__*/React.createElement(DangerouslyHoistCssVarToDocumentRoot, {
905
878
  variableName: sideNavLiveWidthVar,
906
879
  value: "0px",
@@ -919,7 +892,6 @@ function SideNavInternal({
919
892
  , /*#__PURE__*/React.createElement(PanelSplitterProvider, {
920
893
  panelId: sideNavPanelSplitterId,
921
894
  panelRef: navRef,
922
- portalRef: isFhsEnabled ? panelSplitterPortalTargetRef : undefined,
923
895
  panelWidth: renderedWidth,
924
896
  onCompleteResize: onCompleteResize,
925
897
  onResizeStartInternal: isChatPanelLayoutEnabled && managedSizing ? onResizeStartInternal : undefined,
@@ -932,18 +904,7 @@ function SideNavInternal({
932
904
  shortcut: isShortcutEnabled ? sideNavToggleTooltipKeyboardShortcut : undefined
933
905
  }, /*#__PURE__*/React.createElement("div", {
934
906
  className: ax([styles.flexContainer])
935
- }, children))), isFhsEnabled && /*#__PURE__*/React.createElement("div", {
936
- ref: panelSplitterPortalTargetRef,
937
- "data-layout-slot": true,
938
- style: {
939
- // We need to use an inline style here to share the side nav width to position the panel splitter.
940
- // We can't use the existing --n_sNvlw variable (sideNavLiveWidthVar) because it is set to 0 when the side nav is collapsed on desktop,
941
- // however the panel splitter is still visible and usable on small viewports until 48rem.
942
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
943
- [sideNavClampedWidthVar]: clampedWidth
944
- },
945
- className: ax([panelSplitterPortalTargetStyles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop])
946
- }));
907
+ }, children))));
947
908
  }
948
909
 
949
910
  /**
@@ -5,6 +5,5 @@
5
5
  ._1e0cglyw{display:none}
6
6
  ._1ul9zwfg{min-width:2pc}
7
7
  ._4cvr1h6o{align-items:center}
8
- ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
9
8
  @media (min-width:48rem){._181n1txw{display:flex}._1d2y1ris{min-width:max-content}}
10
9
  @media (min-width:64rem){._glte1ris{width:max-content}._15rip2n4{min-width:330px}._1gs5usvi{box-sizing:border-box}._ndwch9n0{justify-self:end}}
@@ -11,14 +11,12 @@ import { fg } from '@atlaskit/platform-feature-flags/fg';
11
11
  import { Popup } from '@atlaskit/popup/popup';
12
12
  import { UNSAFE_useMediaQuery as useMediaQuery } from '@atlaskit/primitives/compiled/use-media-query';
13
13
  import { List } from '../../../components/list';
14
- import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
15
14
  import { HasCustomThemeContext } from '../../top-nav-items/themed/has-custom-theme-context';
16
15
  import { IconButton } from '../../top-nav-items/themed/icon-button';
17
16
  import { openLayerObserverTopNavEndNamespace } from '../constants';
18
17
  const containerStyles = {
19
18
  root: "_yyhy11wp _1e0c1txw _1bahh9n0 _1ul9zwfg _1d2y1ris _glte1ris _15rip2n4 _1gs5usvi _ndwch9n0",
20
- withPersistentItems: "_zulp1b66 _4cvr1h6o",
21
- fullHeightSidebar: "_y4tiutpp"
19
+ withPersistentItems: "_zulp1b66 _4cvr1h6o"
22
20
  };
23
21
  const listStyles = {
24
22
  root: "_zulp1b66 _4cvr1h6o _1e0c1txw",
@@ -41,7 +39,6 @@ export function TopNavEnd({
41
39
  showMoreButtonLabel = 'Show more'
42
40
  }) {
43
41
  const hasPersistentItems = fg('platform-dst-chat-panel-layout') && persistentItems != null;
44
- const isFhsEnabled = useIsFhsEnabled();
45
42
  const [isOpen, setIsOpen] = useState(false);
46
43
  // Always setting to `false` for the initial render (will flip in an effect for mobile)
47
44
  const [isMobile, setIsMobile] = useState(false);
@@ -66,7 +63,7 @@ export function TopNavEnd({
66
63
  }, children);
67
64
  const content = /*#__PURE__*/React.createElement("nav", {
68
65
  "aria-label": label,
69
- className: ax([containerStyles.root, hasPersistentItems && containerStyles.withPersistentItems, isFhsEnabled && containerStyles.fullHeightSidebar])
66
+ className: ax([containerStyles.root, hasPersistentItems && containerStyles.withPersistentItems])
70
67
  }, isMobile ? /*#__PURE__*/React.createElement(Popup, {
71
68
  isOpen: isOpen,
72
69
  onClose: () => setIsOpen(false)
@@ -1,15 +1,5 @@
1
1
  ._zulp1b66{gap:var(--ds-space-050,4px)}
2
- ._zulp1kw7{gap:inherit}
3
- ._yyhykb7n{grid-column:1}._15yekb7n{--animation-direction:1}
4
- ._1e0c1kw7{display:inherit}
5
- ._1e0c1txw{display:flex}
6
- ._1ul9idpf{min-width:0}
2
+ ._yyhykb7n{grid-column:1}._1e0c1txw{display:flex}
7
3
  ._4cvr1h6o{align-items:center}
8
4
  ._4t3i1osq{height:100%}
9
- ._ahbq1wug{margin-inline-start:auto}
10
- ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
11
- ._vchhusvi{box-sizing:border-box}
12
- [dir=rtl] ._65m41mrw{--animation-direction:-1}
13
- @media (prefers-reduced-motion:no-preference){._10t81e03{transition-property:transform}._10t81rjc{transition-property:transform,opacity}._1xq51ytf{transition-timing-function:ease-in-out}._1xq55ucs{transition-timing-function:ease}._mjvc1efy{transform:translateX(calc(100%*var(--animation-direction)))}._bgpzidpf{opacity:0}._mjvc1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}._mjvco0k7{transform:translateX(calc((-2rem + var(--ds-space-050, 4px)*-1)*var(--animation-direction)))}._mjvcyrjp{transform:translateX(calc((2rem + var(--ds-space-050, 4px))*var(--animation-direction)))}._mjvcz12g{transform:translateX(0)}._xrrpfnf5{transition-duration:.2s}._bgpzkb7n{opacity:1}}
14
- @media (min-width:64rem){._13wnh2mm{position:relative}._1l3vb3bt:after{content:""}._juxdstnw:after{position:absolute}._1vinidpf:after{inset-block-start:0}._1719idpf:after{inset-block-end:0}._e6znidpf:after{inset-inline-end:0}._1kyhe4h9:after{border-inline-end-width:var(--ds-border-width,1px)}._4cwynqa1:after{border-inline-end-style:solid}._435s1l7x:after{border-inline-end-color:var(--ds-border,#0b120e24)}._m7c3idpf:after{opacity:0}._15rin7od{min-width:unset}._glte1osq{width:100%}._4ap319ly{background-color:revert}._1m5lglyw:after{display:none}._glte1ris{width:max-content}._15rip2n4{min-width:330px}._1gs5usvi{box-sizing:border-box}._glte93mn{width:var(--n_sNvlw,100%)}._exxmutpp{padding-inline-end:var(--ds-space-150,9pt)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._m7c3kb7n:after{opacity:1}}
15
- @media (prefers-reduced-motion:no-preference) and (min-width:64rem){._n8qabrmi:after{transition-property:opacity}._wc72fnf5:after{transition-duration:.2s}._j3mr1v42:after{transition-timing-function:ease-in}}
5
+ @media (min-width:64rem){._glte1ris{width:max-content}._15rip2n4{min-width:330px}._1gs5usvi{box-sizing:border-box}}