@atlaskit/navigation-system 7.0.0 → 7.1.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 (28) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/ui/page-layout/constants.js +2 -8
  3. package/dist/cjs/ui/page-layout/root.compiled.css +0 -1
  4. package/dist/cjs/ui/page-layout/root.js +1 -5
  5. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.compiled.css +1 -2
  6. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +1 -20
  7. package/dist/cjs/ui/page-layout/side-nav/side-nav-header.js +0 -17
  8. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.compiled.css +2 -3
  9. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +3 -11
  10. package/dist/es2019/ui/page-layout/constants.js +1 -7
  11. package/dist/es2019/ui/page-layout/root.compiled.css +0 -1
  12. package/dist/es2019/ui/page-layout/root.js +1 -5
  13. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.compiled.css +1 -2
  14. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +1 -21
  15. package/dist/es2019/ui/page-layout/side-nav/side-nav-header.js +0 -17
  16. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.compiled.css +2 -3
  17. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +4 -12
  18. package/dist/esm/ui/page-layout/constants.js +1 -7
  19. package/dist/esm/ui/page-layout/root.compiled.css +0 -1
  20. package/dist/esm/ui/page-layout/root.js +1 -5
  21. package/dist/esm/ui/page-layout/side-nav/side-nav-content.compiled.css +1 -2
  22. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +1 -20
  23. package/dist/esm/ui/page-layout/side-nav/side-nav-header.js +0 -17
  24. package/dist/esm/ui/page-layout/top-nav/top-nav-start.compiled.css +2 -3
  25. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +4 -12
  26. package/dist/types/ui/page-layout/constants.d.ts +0 -5
  27. package/dist/types-ts4.5/ui/page-layout/constants.d.ts +0 -5
  28. package/package.json +5 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlassian/navigation-system
2
2
 
3
+ ## 7.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`15acec25cc47f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/15acec25cc47f) -
8
+ Cleans up the `platform_dst_nav4_fhs_feedback_1` feature gate. Scroll lines are now removed, as
9
+ well as other minor visual changes.
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 7.0.0
4
16
 
5
17
  ### Major Changes
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.topNavMountedVar = exports.sideNavVar = exports.sideNavPanelSplitterId = exports.sideNavLiveWidthVar = exports.sideNavContentScrollTimelineVar = exports.ribbonVar = exports.panelVar = exports.panelPanelSplitterId = exports.openLayerObserverTopNavStartNamespace = exports.openLayerObserverTopNavMiddleNamespace = exports.openLayerObserverTopNavEndNamespace = exports.openLayerObserverSideNavNamespace = exports.localSlotLayers = exports.contentInsetBlockStart = exports.contentHeightWhenFixed = exports.bannerMountedVar = exports.asideVar = exports.asidePanelSplitterId = exports.UNSAFE_topNavVar = exports.UNSAFE_sideNavLayoutVar = exports.UNSAFE_ribbonVar = exports.UNSAFE_panelLayoutVar = exports.UNSAFE_bannerVar = exports.UNSAFE_asideLayoutVar = exports.UNSAFE_MAIN_INLINE_START_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_INLINE_END_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_BLOCK_START_FOR_LEGACY_PAGES_ONLY = void 0;
6
+ exports.topNavMountedVar = exports.sideNavVar = exports.sideNavPanelSplitterId = exports.sideNavLiveWidthVar = exports.ribbonVar = exports.panelVar = exports.panelPanelSplitterId = exports.openLayerObserverTopNavStartNamespace = exports.openLayerObserverTopNavMiddleNamespace = exports.openLayerObserverTopNavEndNamespace = exports.openLayerObserverSideNavNamespace = exports.localSlotLayers = exports.contentInsetBlockStart = exports.contentHeightWhenFixed = exports.bannerMountedVar = exports.asideVar = exports.asidePanelSplitterId = exports.UNSAFE_topNavVar = exports.UNSAFE_sideNavLayoutVar = exports.UNSAFE_ribbonVar = exports.UNSAFE_panelLayoutVar = exports.UNSAFE_bannerVar = exports.UNSAFE_asideLayoutVar = exports.UNSAFE_MAIN_INLINE_START_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_INLINE_END_FOR_LEGACY_PAGES_ONLY = exports.UNSAFE_MAIN_BLOCK_START_FOR_LEGACY_PAGES_ONLY = void 0;
7
7
  /**
8
8
  * These variables are shared across the different page layout slots.
9
9
  * This violates the [UI styling standard](https://atlassian.design/components/eslint-plugin-ui-styling-standard/no-imported-style-values/usage).
@@ -76,10 +76,4 @@ var openLayerObserverSideNavNamespace = exports.openLayerObserverSideNavNamespac
76
76
  // namespaces.
77
77
  var openLayerObserverTopNavStartNamespace = exports.openLayerObserverTopNavStartNamespace = 'top-nav-start';
78
78
  var openLayerObserverTopNavMiddleNamespace = exports.openLayerObserverTopNavMiddleNamespace = 'top-nav-middle';
79
- var openLayerObserverTopNavEndNamespace = exports.openLayerObserverTopNavEndNamespace = 'top-nav-end';
80
-
81
- /**
82
- * CSS scroll timeline variable for the side nav content scroll indicator.
83
- * The scroll timeline is created in SideNavBody, and then used by TopNavStart to apply the scroll indicator line.
84
- */
85
- var sideNavContentScrollTimelineVar = exports.sideNavContentScrollTimelineVar = '--sNcst';
79
+ var openLayerObserverTopNavEndNamespace = exports.openLayerObserverTopNavEndNamespace = 'top-nav-end';
@@ -1,4 +1,3 @@
1
- ._10iwgc9s{timeline-scope:--sNcst}
2
1
  ._1ciragmp >:not([data-layout-slot]){display:none!important}
3
2
  ._1e0c11p5{display:grid}
4
3
  ._1lmcq9em{grid-template-areas:"banner" "top-bar" "main" "aside"}
@@ -14,8 +14,6 @@ var _openLayerObserver = require("@atlaskit/layering/experimental/open-layer-obs
14
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
15
  var _skipLinksProvider = require("../../context/skip-links/skip-links-provider");
16
16
  var _topNavStartContextProvider = require("../../context/top-nav-start/top-nav-start-context-provider");
17
- var _useIsFhsEnabled = require("../fhs-rollout/use-is-fhs-enabled");
18
- var _constants = require("./constants");
19
17
  var _hoistSlotSizesContext = require("./hoist-slot-sizes-context");
20
18
  var _elementContext = require("./side-nav/element-context");
21
19
  var _isSideNavShortcutEnabledContext = require("./side-nav/is-side-nav-shortcut-enabled-context");
@@ -26,7 +24,6 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
26
24
  var gridRootId = exports.gridRootId = 'unsafe-design-system-page-layout-root';
27
25
  var styles = {
28
26
  root: "_1e0c11p5 _1tke1kxc _1lmcq9em _yv0ei47z _2z0516ab _1ciragmp _12fkuz0r _12qzrxre _1rqt70if _xkmgbaui _jbc7rxre _tyve1jg8",
29
- sideNavScrollTimeline: "_10iwgc9s",
30
27
  ribbon: "_12fk1aio _12qzrxre _1rqteala _xkmgks3h _jbc7rxre _tyve1nco"
31
28
  };
32
29
 
@@ -46,7 +43,6 @@ function Root(_ref) {
46
43
  _ref$isSideNavShortcu = _ref.isSideNavShortcutEnabled,
47
44
  isSideNavShortcutEnabled = _ref$isSideNavShortcu === void 0 ? false : _ref$isSideNavShortcu;
48
45
  var ref = (0, _react.useRef)(null);
49
- var isFhsEnabled = (0, _useIsFhsEnabled.useIsFhsEnabled)();
50
46
  (0, _react.useEffect)(function () {
51
47
  if (process.env.NODE_ENV !== 'production') {
52
48
  var IGNORED_ELEMENTS = ['SCRIPT', 'STYLE'];
@@ -71,7 +67,7 @@ function Root(_ref) {
71
67
  testId: testId
72
68
  }, /*#__PURE__*/_react.default.createElement("div", {
73
69
  ref: ref,
74
- className: (0, _runtime.ax)([styles.root, isFhsEnabled && !(0, _platformFeatureFlags.fg)('platform_dst_nav4_fhs_feedback_1') && styles.sideNavScrollTimeline, (0, _platformFeatureFlags.fg)('platform_dst_nav4_ribbon_slot') && styles.ribbon, xcss]),
70
+ className: (0, _runtime.ax)([styles.root, (0, _platformFeatureFlags.fg)('platform_dst_nav4_ribbon_slot') && styles.ribbon, xcss]),
75
71
  id: gridRootId,
76
72
  "data-testid": testId
77
73
  }, children)))))))));
@@ -6,5 +6,4 @@
6
6
  ._85i5utpp{padding-block-end:var(--ds-space-150,9pt)}
7
7
  ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
8
8
  ._i0dlf1ug{flex-basis:0%}
9
- ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
10
- @media (min-width:64rem){@supports (scroll-timeline-axis:block){._1sfqgc9s{scroll-timeline-name:--sNcst}._1q1x1ule{scroll-timeline-axis:block}html:has([data-private-side-nav-header]) ._8pm2gc9s{animation-timeline:--sNcst}html:has([data-private-side-nav-header]) ._1gd94n8p{animation-name:k1gwhnxc}}@supports (scroll-timeline-axis:block){@keyframes k1gwhnxc{0%{box-shadow:none}0.1%{box-shadow:0 -1px var(--ds-border,#0b120e24)}to{box-shadow:0 -1px var(--ds-border,#0b120e24)}}}}
9
+ ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
@@ -11,10 +11,7 @@ require("./side-nav-content.compiled.css");
11
11
  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
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
14
  var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
16
- var _constants = require("../constants");
17
- var _useSideNavVisibility2 = require("./use-side-nav-visibility");
18
15
  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
16
  /**
20
17
  * The main content of the side nav, filling up the middle section. It acts as a scroll container.
@@ -29,20 +26,6 @@ var styles = {
29
26
  scrollContainer: "_16jlkb7n _1o9zkb7n _i0dlf1ug _1reo1wug _18m91wug",
30
27
  paddingContainer: "_1q51utpp _y4tiutpp _85i5utpp _bozgutpp"
31
28
  };
32
-
33
- /**
34
- * Using CSS scroll-driven animations to apply a scrolled indicator border.
35
- *
36
- * This approach is better for SSR, as some apps like Confluence will apply the
37
- * initial scroll position of the side nav content using JS before hydration.
38
- *
39
- * If we applied the border through React state it would only appear after hydration,
40
- * whereas this CSS approach should show even before hydration.
41
- */
42
- var scrolledBorder = null;
43
- var fullHeightSidebarStyles = {
44
- scrollContainer: "_1sfqgc9s _1q1x1ule _8pm2gc9s _1gd94n8p"
45
- };
46
29
  function _SideNavContent(_ref, forwardedRef) {
47
30
  var children = _ref.children,
48
31
  testId = _ref.testId;
@@ -51,12 +34,10 @@ function _SideNavContent(_ref, forwardedRef) {
51
34
  var mergedRef = (0, _react.useMemo)(function () {
52
35
  return (0, _mergeRefs.default)([internalRef, forwardedRef]);
53
36
  }, [forwardedRef]);
54
- var _useSideNavVisibility = (0, _useSideNavVisibility2.useSideNavVisibility)(),
55
- isExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop;
56
37
  return /*#__PURE__*/_react.default.createElement("div", {
57
38
  ref: isFhsEnabled ? mergedRef : forwardedRef,
58
39
  "data-testid": testId,
59
- className: (0, _runtime.ax)([styles.scrollContainer, isFhsEnabled && isExpandedOnDesktop && !(0, _platformFeatureFlags.fg)('platform_dst_nav4_fhs_feedback_1') && fullHeightSidebarStyles.scrollContainer])
40
+ className: (0, _runtime.ax)([styles.scrollContainer])
60
41
  }, /*#__PURE__*/_react.default.createElement("div", {
61
42
  className: (0, _runtime.ax)([styles.paddingContainer])
62
43
  }, children));
@@ -9,7 +9,6 @@ exports.SideNavHeader = void 0;
9
9
  require("./side-nav-header.compiled.css");
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _runtime = require("@compiled/react/runtime");
12
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
12
  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); }
14
13
  var styles = {
15
14
  root: "_18zrutpp _1q51utpp _85i51b66"
@@ -21,22 +20,6 @@ var styles = {
21
20
  var SideNavHeader = exports.SideNavHeader = function SideNavHeader(_ref) {
22
21
  var children = _ref.children;
23
22
  return /*#__PURE__*/React.createElement("div", {
24
- /**
25
- * This attribute is used to identify whether the SideNavHeader is mounted, to determine where the
26
- * SideNavBody's scroll indicator line should be applied. This is for layering reasons -
27
- * if the scroll indicator line intersects with the top nav, it could incorrectly be hidden beneath
28
- * the top nav (depending on if a layer is open, which raises the top nav'z z-index).
29
- *
30
- * We are using a data attribute and CSS for this logic to ensure it is SSR safe.
31
- *
32
- * - If SideNavHeader exists, the scroll indicator line is applied to the SideNavBody. This is safe
33
- * because the SideNavHeader is between the SideNavBody and TopNavStart, so the scroll indicator line
34
- * will not intersect with the top nav.
35
- *
36
- * - If SideNavHeader does not exist, the scroll indicator line is applied to TopNavStart. This ensures
37
- * the scroll indicator line is visible even when the top nav has a z-index higher than the side nav.
38
- */
39
- "data-private-side-nav-header": (0, _platformFeatureFlags.fg)('platform_dst_nav4_fhs_feedback_1') ? undefined : 'true',
40
23
  className: (0, _runtime.ax)([styles.root])
41
24
  }, children);
42
25
  };
@@ -12,6 +12,5 @@
12
12
  ._vchhusvi{box-sizing:border-box}
13
13
  [dir=rtl] ._65m41mrw{--animation-direction:-1}
14
14
  @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}}
15
- @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%}._exxmutpp{padding-inline-end:var(--ds-space-150,9pt)}._glte1ris{width:max-content}._15rip2n4{min-width:330px}._1gs5usvi{box-sizing:border-box}._glte93mn{width:var(--n_sNvlw,100%)}._exxmpxbi{padding-inline-end:var(--ds-space-200,1pc)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._m7c3kb7n:after{opacity:1}}
16
- @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}}
17
- @supports (scroll-timeline-axis:block){@keyframes khj1qz3{0%{box-shadow:inset 0 -1px 0 0 transparent}0.1%{box-shadow:inset 0 -1px 0 0 var(--ds-border,#0b120e24)}to{box-shadow:inset 0 -1px 0 0 var(--ds-border,#0b120e24)}}html:not(:has([data-private-side-nav-header])) ._5gdsgc9s{animation-timeline:--sNcst}html:not(:has([data-private-side-nav-header])) ._53fr1ybg{animation-name:khj1qz3}html:not(:has([data-private-side-nav-header])) ._bt1c1hrf{animation-fill-mode:both}}
15
+ @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%}._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}}
16
+ @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}}
@@ -44,12 +44,6 @@ var innerStyles = {
44
44
  fullHeightSidebarExpanded: "_15rin7od _glte1osq"
45
45
  };
46
46
 
47
- /**
48
- * The scroll indicator is usually applied in SideNavBody, but if there is no SideNavHeader it is
49
- * applied in TopNavStart instead for layering reasons. See the comment in SideNavHeader for more details.
50
- */
51
- var scrolledShadow = null;
52
-
53
47
  /**
54
48
  * Styles for the outer element, that does not have re-enabled pointer events and spans the entire
55
49
  * width of the TopNavStart area.
@@ -58,10 +52,8 @@ var scrolledShadow = null;
58
52
  */
59
53
  var wrapperStyles = {
60
54
  root: "_vchhusvi _bozgutpp _4t3i1osq _13wnh2mm _1l3vb3bt _juxdstnw _1vinidpf _1719idpf _e6znidpf _1kyhe4h9 _4cwynqa1 _435s1l7x _m7c3idpf",
61
- fullHeightSidebarExpanded: "_glte93mn _exxmpxbi _4ap3vuon _m7c3kb7n",
62
- fullHeightSidebarExpandedScrollTimeline: "_5gdsgc9s _53fr1ybg _bt1c1hrf",
63
- fullHeightSidebarBorderTransition: "_n8qabrmi _wc72fnf5 _j3mr1v42",
64
- fullHeightSidebarExpandedWithFeedback: "_exxmutpp"
55
+ fullHeightSidebarExpanded: "_glte93mn _exxmutpp _4ap3vuon _m7c3kb7n",
56
+ fullHeightSidebarBorderTransition: "_n8qabrmi _wc72fnf5 _j3mr1v42"
65
57
  };
66
58
 
67
59
  /**
@@ -143,7 +135,7 @@ var TopNavStartInnerFHS = /*#__PURE__*/(0, _react.forwardRef)(function TopNavSta
143
135
  }
144
136
  }, [sideNavState]);
145
137
  return /*#__PURE__*/_react.default.createElement("div", {
146
- className: (0, _runtime.ax)([wrapperStyles.root, isExpandedOnDesktop && wrapperStyles.fullHeightSidebarExpanded, isExpandedOnDesktop && (0, _platformFeatureFlags.fg)('platform_dst_nav4_fhs_feedback_1') && wrapperStyles.fullHeightSidebarExpandedWithFeedback, !isFirstRenderRef.current && isExpandedOnDesktop && wrapperStyles.fullHeightSidebarBorderTransition, isExpandedOnDesktop && !(0, _platformFeatureFlags.fg)('platform_dst_nav4_fhs_feedback_1') && wrapperStyles.fullHeightSidebarExpandedScrollTimeline])
138
+ className: (0, _runtime.ax)([wrapperStyles.root, isExpandedOnDesktop && wrapperStyles.fullHeightSidebarExpanded, !isFirstRenderRef.current && isExpandedOnDesktop && wrapperStyles.fullHeightSidebarBorderTransition])
147
139
  }, /*#__PURE__*/_react.default.createElement("div", {
148
140
  ref: ref,
149
141
  "data-testid": testId,
@@ -70,10 +70,4 @@ export const openLayerObserverSideNavNamespace = 'side-nav';
70
70
  // namespaces.
71
71
  export const openLayerObserverTopNavStartNamespace = 'top-nav-start';
72
72
  export const openLayerObserverTopNavMiddleNamespace = 'top-nav-middle';
73
- export const openLayerObserverTopNavEndNamespace = 'top-nav-end';
74
-
75
- /**
76
- * CSS scroll timeline variable for the side nav content scroll indicator.
77
- * The scroll timeline is created in SideNavBody, and then used by TopNavStart to apply the scroll indicator line.
78
- */
79
- export const sideNavContentScrollTimelineVar = '--sNcst';
73
+ export const openLayerObserverTopNavEndNamespace = 'top-nav-end';
@@ -1,4 +1,3 @@
1
- ._10iwgc9s{timeline-scope:--sNcst}
2
1
  ._1ciragmp >:not([data-layout-slot]){display:none!important}
3
2
  ._1e0c11p5{display:grid}
4
3
  ._1lmcq9em{grid-template-areas:"banner" "top-bar" "main" "aside"}
@@ -6,8 +6,6 @@ import { OpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-ob
6
6
  import { fg } from '@atlaskit/platform-feature-flags';
7
7
  import { SkipLinksProvider } from '../../context/skip-links/skip-links-provider';
8
8
  import { TopNavStartProvider } from '../../context/top-nav-start/top-nav-start-context-provider';
9
- import { useIsFhsEnabled } from '../fhs-rollout/use-is-fhs-enabled';
10
- import { sideNavContentScrollTimelineVar } from './constants';
11
9
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
12
10
  import { SideNavElementProvider } from './side-nav/element-context';
13
11
  import { IsSideNavShortcutEnabledProvider } from './side-nav/is-side-nav-shortcut-enabled-context';
@@ -18,7 +16,6 @@ import { SideNavVisibilityProvider } from './side-nav/visibility-provider';
18
16
  export const gridRootId = 'unsafe-design-system-page-layout-root';
19
17
  const styles = {
20
18
  root: "_1e0c11p5 _1tke1kxc _1lmcq9em _yv0ei47z _2z0516ab _1ciragmp _12fkuz0r _12qzrxre _1rqt70if _xkmgbaui _jbc7rxre _tyve1jg8",
21
- sideNavScrollTimeline: "_10iwgc9s",
22
19
  ribbon: "_12fk1aio _12qzrxre _1rqteala _xkmgks3h _jbc7rxre _tyve1nco"
23
20
  };
24
21
 
@@ -36,7 +33,6 @@ export function Root({
36
33
  isSideNavShortcutEnabled = false
37
34
  }) {
38
35
  const ref = useRef(null);
39
- const isFhsEnabled = useIsFhsEnabled();
40
36
  useEffect(() => {
41
37
  if (process.env.NODE_ENV !== 'production') {
42
38
  const IGNORED_ELEMENTS = ['SCRIPT', 'STYLE'];
@@ -70,7 +66,7 @@ This message will not be displayed in production.
70
66
  testId: testId
71
67
  }, /*#__PURE__*/React.createElement("div", {
72
68
  ref: ref,
73
- className: ax([styles.root, isFhsEnabled && !fg('platform_dst_nav4_fhs_feedback_1') && styles.sideNavScrollTimeline, fg('platform_dst_nav4_ribbon_slot') && styles.ribbon, xcss]),
69
+ className: ax([styles.root, fg('platform_dst_nav4_ribbon_slot') && styles.ribbon, xcss]),
74
70
  id: gridRootId,
75
71
  "data-testid": testId
76
72
  }, children)))))))));
@@ -6,5 +6,4 @@
6
6
  ._85i5utpp{padding-block-end:var(--ds-space-150,9pt)}
7
7
  ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
8
8
  ._i0dlf1ug{flex-basis:0%}
9
- ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
10
- @media (min-width:64rem){@supports (scroll-timeline-axis:block){._1sfqgc9s{scroll-timeline-name:--sNcst}._1q1x1ule{scroll-timeline-axis:block}html:has([data-private-side-nav-header]) ._8pm2gc9s{animation-timeline:--sNcst}html:has([data-private-side-nav-header]) ._1gd913ly{animation-name:k1ywrstg}}@supports (scroll-timeline-axis:block){@keyframes k1ywrstg{0%{box-shadow:none}0.1%{box-shadow:0 -1px var(--ds-border,#0b120e24)}to{box-shadow:0 -1px var(--ds-border,#0b120e24)}}}}
9
+ ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
@@ -3,10 +3,7 @@ import "./side-nav-content.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { forwardRef, useMemo, useRef } from 'react';
5
5
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
6
- import { fg } from '@atlaskit/platform-feature-flags';
7
6
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
8
- import { sideNavContentScrollTimelineVar } from '../constants';
9
- import { useSideNavVisibility } from './use-side-nav-visibility';
10
7
 
11
8
  /**
12
9
  * The main content of the side nav, filling up the middle section. It acts as a scroll container.
@@ -21,20 +18,6 @@ const styles = {
21
18
  scrollContainer: "_16jlkb7n _1o9zkb7n _i0dlf1ug _1reo1wug _18m91wug",
22
19
  paddingContainer: "_1q51utpp _y4tiutpp _85i5utpp _bozgutpp"
23
20
  };
24
-
25
- /**
26
- * Using CSS scroll-driven animations to apply a scrolled indicator border.
27
- *
28
- * This approach is better for SSR, as some apps like Confluence will apply the
29
- * initial scroll position of the side nav content using JS before hydration.
30
- *
31
- * If we applied the border through React state it would only appear after hydration,
32
- * whereas this CSS approach should show even before hydration.
33
- */
34
- const scrolledBorder = null;
35
- const fullHeightSidebarStyles = {
36
- scrollContainer: "_1sfqgc9s _1q1x1ule _8pm2gc9s _1gd913ly"
37
- };
38
21
  function _SideNavContent({
39
22
  children,
40
23
  testId
@@ -42,13 +25,10 @@ function _SideNavContent({
42
25
  const isFhsEnabled = useIsFhsEnabled();
43
26
  const internalRef = useRef(null);
44
27
  const mergedRef = useMemo(() => mergeRefs([internalRef, forwardedRef]), [forwardedRef]);
45
- const {
46
- isExpandedOnDesktop
47
- } = useSideNavVisibility();
48
28
  return /*#__PURE__*/React.createElement("div", {
49
29
  ref: isFhsEnabled ? mergedRef : forwardedRef,
50
30
  "data-testid": testId,
51
- className: ax([styles.scrollContainer, isFhsEnabled && isExpandedOnDesktop && !fg('platform_dst_nav4_fhs_feedback_1') && fullHeightSidebarStyles.scrollContainer])
31
+ className: ax([styles.scrollContainer])
52
32
  }, /*#__PURE__*/React.createElement("div", {
53
33
  className: ax([styles.paddingContainer])
54
34
  }, children));
@@ -2,7 +2,6 @@
2
2
  import "./side-nav-header.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
- import { fg } from '@atlaskit/platform-feature-flags';
6
5
  const styles = {
7
6
  root: "_18zrutpp _1q51utpp _85i51b66"
8
7
  };
@@ -14,22 +13,6 @@ export const SideNavHeader = ({
14
13
  children
15
14
  }) => {
16
15
  return /*#__PURE__*/React.createElement("div", {
17
- /**
18
- * This attribute is used to identify whether the SideNavHeader is mounted, to determine where the
19
- * SideNavBody's scroll indicator line should be applied. This is for layering reasons -
20
- * if the scroll indicator line intersects with the top nav, it could incorrectly be hidden beneath
21
- * the top nav (depending on if a layer is open, which raises the top nav'z z-index).
22
- *
23
- * We are using a data attribute and CSS for this logic to ensure it is SSR safe.
24
- *
25
- * - If SideNavHeader exists, the scroll indicator line is applied to the SideNavBody. This is safe
26
- * because the SideNavHeader is between the SideNavBody and TopNavStart, so the scroll indicator line
27
- * will not intersect with the top nav.
28
- *
29
- * - If SideNavHeader does not exist, the scroll indicator line is applied to TopNavStart. This ensures
30
- * the scroll indicator line is visible even when the top nav has a z-index higher than the side nav.
31
- */
32
- "data-private-side-nav-header": fg('platform_dst_nav4_fhs_feedback_1') ? undefined : 'true',
33
16
  className: ax([styles.root])
34
17
  }, children);
35
18
  };
@@ -12,6 +12,5 @@
12
12
  ._vchhusvi{box-sizing:border-box}
13
13
  [dir=rtl] ._65m41mrw{--animation-direction:-1}
14
14
  @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}}
15
- @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%}._exxmutpp{padding-inline-end:var(--ds-space-150,9pt)}._glte1ris{width:max-content}._15rip2n4{min-width:330px}._1gs5usvi{box-sizing:border-box}._glte93mn{width:var(--n_sNvlw,100%)}._exxmpxbi{padding-inline-end:var(--ds-space-200,1pc)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._m7c3kb7n:after{opacity:1}}
16
- @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}}
17
- @supports (scroll-timeline-axis:block){@keyframes k1rswljm{0%{box-shadow:inset 0 -1px 0 0 transparent}0.1%{box-shadow:inset 0 -1px 0 0 var(--ds-border,#0b120e24)}to{box-shadow:inset 0 -1px 0 0 var(--ds-border,#0b120e24)}}html:not(:has([data-private-side-nav-header])) ._5gdsgc9s{animation-timeline:--sNcst}html:not(:has([data-private-side-nav-header])) ._53frsjnm{animation-name:k1rswljm}html:not(:has([data-private-side-nav-header])) ._bt1c1hrf{animation-fill-mode:both}}
15
+ @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%}._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}}
16
+ @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}}
@@ -8,7 +8,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
8
8
  import { UNSAFE_useMediaQuery } from '@atlaskit/primitives/compiled';
9
9
  import { TopNavStartAttachRef } from '../../../context/top-nav-start/top-nav-start-context';
10
10
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
11
- import { openLayerObserverTopNavStartNamespace, sideNavContentScrollTimelineVar } from '../constants';
11
+ import { openLayerObserverTopNavStartNamespace } from '../constants';
12
12
  import { useSideNavVisibility } from '../side-nav/use-side-nav-visibility';
13
13
  import { SideNavVisibilityState } from '../side-nav/visibility-context';
14
14
 
@@ -35,12 +35,6 @@ const innerStyles = {
35
35
  fullHeightSidebarExpanded: "_15rin7od _glte1osq"
36
36
  };
37
37
 
38
- /**
39
- * The scroll indicator is usually applied in SideNavBody, but if there is no SideNavHeader it is
40
- * applied in TopNavStart instead for layering reasons. See the comment in SideNavHeader for more details.
41
- */
42
- const scrolledShadow = null;
43
-
44
38
  /**
45
39
  * Styles for the outer element, that does not have re-enabled pointer events and spans the entire
46
40
  * width of the TopNavStart area.
@@ -49,10 +43,8 @@ const scrolledShadow = null;
49
43
  */
50
44
  const wrapperStyles = {
51
45
  root: "_vchhusvi _bozgutpp _4t3i1osq _13wnh2mm _1l3vb3bt _juxdstnw _1vinidpf _1719idpf _e6znidpf _1kyhe4h9 _4cwynqa1 _435s1l7x _m7c3idpf",
52
- fullHeightSidebarExpanded: "_glte93mn _exxmpxbi _4ap3vuon _m7c3kb7n",
53
- fullHeightSidebarExpandedScrollTimeline: "_5gdsgc9s _53frsjnm _bt1c1hrf",
54
- fullHeightSidebarBorderTransition: "_n8qabrmi _wc72fnf5 _j3mr1v42",
55
- fullHeightSidebarExpandedWithFeedback: "_exxmutpp"
46
+ fullHeightSidebarExpanded: "_glte93mn _exxmutpp _4ap3vuon _m7c3kb7n",
47
+ fullHeightSidebarBorderTransition: "_n8qabrmi _wc72fnf5 _j3mr1v42"
56
48
  };
57
49
 
58
50
  /**
@@ -137,7 +129,7 @@ const TopNavStartInnerFHS = /*#__PURE__*/forwardRef(function TopNavStartInnerFHS
137
129
  }
138
130
  }, [sideNavState]);
139
131
  return /*#__PURE__*/React.createElement("div", {
140
- className: ax([wrapperStyles.root, isExpandedOnDesktop && wrapperStyles.fullHeightSidebarExpanded, isExpandedOnDesktop && fg('platform_dst_nav4_fhs_feedback_1') && wrapperStyles.fullHeightSidebarExpandedWithFeedback, !isFirstRenderRef.current && isExpandedOnDesktop && wrapperStyles.fullHeightSidebarBorderTransition, isExpandedOnDesktop && !fg('platform_dst_nav4_fhs_feedback_1') && wrapperStyles.fullHeightSidebarExpandedScrollTimeline])
132
+ className: ax([wrapperStyles.root, isExpandedOnDesktop && wrapperStyles.fullHeightSidebarExpanded, !isFirstRenderRef.current && isExpandedOnDesktop && wrapperStyles.fullHeightSidebarBorderTransition])
141
133
  }, /*#__PURE__*/React.createElement("div", {
142
134
  ref: ref,
143
135
  "data-testid": testId,
@@ -70,10 +70,4 @@ export var openLayerObserverSideNavNamespace = 'side-nav';
70
70
  // namespaces.
71
71
  export var openLayerObserverTopNavStartNamespace = 'top-nav-start';
72
72
  export var openLayerObserverTopNavMiddleNamespace = 'top-nav-middle';
73
- export var openLayerObserverTopNavEndNamespace = 'top-nav-end';
74
-
75
- /**
76
- * CSS scroll timeline variable for the side nav content scroll indicator.
77
- * The scroll timeline is created in SideNavBody, and then used by TopNavStart to apply the scroll indicator line.
78
- */
79
- export var sideNavContentScrollTimelineVar = '--sNcst';
73
+ export var openLayerObserverTopNavEndNamespace = 'top-nav-end';
@@ -1,4 +1,3 @@
1
- ._10iwgc9s{timeline-scope:--sNcst}
2
1
  ._1ciragmp >:not([data-layout-slot]){display:none!important}
3
2
  ._1e0c11p5{display:grid}
4
3
  ._1lmcq9em{grid-template-areas:"banner" "top-bar" "main" "aside"}
@@ -6,8 +6,6 @@ import { OpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-ob
6
6
  import { fg } from '@atlaskit/platform-feature-flags';
7
7
  import { SkipLinksProvider } from '../../context/skip-links/skip-links-provider';
8
8
  import { TopNavStartProvider } from '../../context/top-nav-start/top-nav-start-context-provider';
9
- import { useIsFhsEnabled } from '../fhs-rollout/use-is-fhs-enabled';
10
- import { sideNavContentScrollTimelineVar } from './constants';
11
9
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
12
10
  import { SideNavElementProvider } from './side-nav/element-context';
13
11
  import { IsSideNavShortcutEnabledProvider } from './side-nav/is-side-nav-shortcut-enabled-context';
@@ -18,7 +16,6 @@ import { SideNavVisibilityProvider } from './side-nav/visibility-provider';
18
16
  export var gridRootId = 'unsafe-design-system-page-layout-root';
19
17
  var styles = {
20
18
  root: "_1e0c11p5 _1tke1kxc _1lmcq9em _yv0ei47z _2z0516ab _1ciragmp _12fkuz0r _12qzrxre _1rqt70if _xkmgbaui _jbc7rxre _tyve1jg8",
21
- sideNavScrollTimeline: "_10iwgc9s",
22
19
  ribbon: "_12fk1aio _12qzrxre _1rqteala _xkmgks3h _jbc7rxre _tyve1nco"
23
20
  };
24
21
 
@@ -38,7 +35,6 @@ export function Root(_ref) {
38
35
  _ref$isSideNavShortcu = _ref.isSideNavShortcutEnabled,
39
36
  isSideNavShortcutEnabled = _ref$isSideNavShortcu === void 0 ? false : _ref$isSideNavShortcu;
40
37
  var ref = useRef(null);
41
- var isFhsEnabled = useIsFhsEnabled();
42
38
  useEffect(function () {
43
39
  if (process.env.NODE_ENV !== 'production') {
44
40
  var IGNORED_ELEMENTS = ['SCRIPT', 'STYLE'];
@@ -63,7 +59,7 @@ export function Root(_ref) {
63
59
  testId: testId
64
60
  }, /*#__PURE__*/React.createElement("div", {
65
61
  ref: ref,
66
- className: ax([styles.root, isFhsEnabled && !fg('platform_dst_nav4_fhs_feedback_1') && styles.sideNavScrollTimeline, fg('platform_dst_nav4_ribbon_slot') && styles.ribbon, xcss]),
62
+ className: ax([styles.root, fg('platform_dst_nav4_ribbon_slot') && styles.ribbon, xcss]),
67
63
  id: gridRootId,
68
64
  "data-testid": testId
69
65
  }, children)))))))));
@@ -6,5 +6,4 @@
6
6
  ._85i5utpp{padding-block-end:var(--ds-space-150,9pt)}
7
7
  ._bozgutpp{padding-inline-start:var(--ds-space-150,9pt)}
8
8
  ._i0dlf1ug{flex-basis:0%}
9
- ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
10
- @media (min-width:64rem){@supports (scroll-timeline-axis:block){._1sfqgc9s{scroll-timeline-name:--sNcst}._1q1x1ule{scroll-timeline-axis:block}html:has([data-private-side-nav-header]) ._8pm2gc9s{animation-timeline:--sNcst}html:has([data-private-side-nav-header]) ._1gd94n8p{animation-name:k1gwhnxc}}@supports (scroll-timeline-axis:block){@keyframes k1gwhnxc{0%{box-shadow:none}0.1%{box-shadow:0 -1px var(--ds-border,#0b120e24)}to{box-shadow:0 -1px var(--ds-border,#0b120e24)}}}}
9
+ ._y4tiutpp{padding-inline-end:var(--ds-space-150,9pt)}
@@ -3,10 +3,7 @@ import "./side-nav-content.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { forwardRef, useMemo, useRef } from 'react';
5
5
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
6
- import { fg } from '@atlaskit/platform-feature-flags';
7
6
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
8
- import { sideNavContentScrollTimelineVar } from '../constants';
9
- import { useSideNavVisibility } from './use-side-nav-visibility';
10
7
 
11
8
  /**
12
9
  * The main content of the side nav, filling up the middle section. It acts as a scroll container.
@@ -21,20 +18,6 @@ var styles = {
21
18
  scrollContainer: "_16jlkb7n _1o9zkb7n _i0dlf1ug _1reo1wug _18m91wug",
22
19
  paddingContainer: "_1q51utpp _y4tiutpp _85i5utpp _bozgutpp"
23
20
  };
24
-
25
- /**
26
- * Using CSS scroll-driven animations to apply a scrolled indicator border.
27
- *
28
- * This approach is better for SSR, as some apps like Confluence will apply the
29
- * initial scroll position of the side nav content using JS before hydration.
30
- *
31
- * If we applied the border through React state it would only appear after hydration,
32
- * whereas this CSS approach should show even before hydration.
33
- */
34
- var scrolledBorder = null;
35
- var fullHeightSidebarStyles = {
36
- scrollContainer: "_1sfqgc9s _1q1x1ule _8pm2gc9s _1gd94n8p"
37
- };
38
21
  function _SideNavContent(_ref, forwardedRef) {
39
22
  var children = _ref.children,
40
23
  testId = _ref.testId;
@@ -43,12 +26,10 @@ function _SideNavContent(_ref, forwardedRef) {
43
26
  var mergedRef = useMemo(function () {
44
27
  return mergeRefs([internalRef, forwardedRef]);
45
28
  }, [forwardedRef]);
46
- var _useSideNavVisibility = useSideNavVisibility(),
47
- isExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop;
48
29
  return /*#__PURE__*/React.createElement("div", {
49
30
  ref: isFhsEnabled ? mergedRef : forwardedRef,
50
31
  "data-testid": testId,
51
- className: ax([styles.scrollContainer, isFhsEnabled && isExpandedOnDesktop && !fg('platform_dst_nav4_fhs_feedback_1') && fullHeightSidebarStyles.scrollContainer])
32
+ className: ax([styles.scrollContainer])
52
33
  }, /*#__PURE__*/React.createElement("div", {
53
34
  className: ax([styles.paddingContainer])
54
35
  }, children));
@@ -2,7 +2,6 @@
2
2
  import "./side-nav-header.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
- import { fg } from '@atlaskit/platform-feature-flags';
6
5
  var styles = {
7
6
  root: "_18zrutpp _1q51utpp _85i51b66"
8
7
  };
@@ -13,22 +12,6 @@ var styles = {
13
12
  export var SideNavHeader = function SideNavHeader(_ref) {
14
13
  var children = _ref.children;
15
14
  return /*#__PURE__*/React.createElement("div", {
16
- /**
17
- * This attribute is used to identify whether the SideNavHeader is mounted, to determine where the
18
- * SideNavBody's scroll indicator line should be applied. This is for layering reasons -
19
- * if the scroll indicator line intersects with the top nav, it could incorrectly be hidden beneath
20
- * the top nav (depending on if a layer is open, which raises the top nav'z z-index).
21
- *
22
- * We are using a data attribute and CSS for this logic to ensure it is SSR safe.
23
- *
24
- * - If SideNavHeader exists, the scroll indicator line is applied to the SideNavBody. This is safe
25
- * because the SideNavHeader is between the SideNavBody and TopNavStart, so the scroll indicator line
26
- * will not intersect with the top nav.
27
- *
28
- * - If SideNavHeader does not exist, the scroll indicator line is applied to TopNavStart. This ensures
29
- * the scroll indicator line is visible even when the top nav has a z-index higher than the side nav.
30
- */
31
- "data-private-side-nav-header": fg('platform_dst_nav4_fhs_feedback_1') ? undefined : 'true',
32
15
  className: ax([styles.root])
33
16
  }, children);
34
17
  };
@@ -12,6 +12,5 @@
12
12
  ._vchhusvi{box-sizing:border-box}
13
13
  [dir=rtl] ._65m41mrw{--animation-direction:-1}
14
14
  @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}}
15
- @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%}._exxmutpp{padding-inline-end:var(--ds-space-150,9pt)}._glte1ris{width:max-content}._15rip2n4{min-width:330px}._1gs5usvi{box-sizing:border-box}._glte93mn{width:var(--n_sNvlw,100%)}._exxmpxbi{padding-inline-end:var(--ds-space-200,1pc)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._m7c3kb7n:after{opacity:1}}
16
- @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}}
17
- @supports (scroll-timeline-axis:block){@keyframes khj1qz3{0%{box-shadow:inset 0 -1px 0 0 transparent}0.1%{box-shadow:inset 0 -1px 0 0 var(--ds-border,#0b120e24)}to{box-shadow:inset 0 -1px 0 0 var(--ds-border,#0b120e24)}}html:not(:has([data-private-side-nav-header])) ._5gdsgc9s{animation-timeline:--sNcst}html:not(:has([data-private-side-nav-header])) ._53fr1ybg{animation-name:khj1qz3}html:not(:has([data-private-side-nav-header])) ._bt1c1hrf{animation-fill-mode:both}}
15
+ @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%}._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}}
16
+ @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}}
@@ -9,7 +9,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
9
9
  import { UNSAFE_useMediaQuery } from '@atlaskit/primitives/compiled';
10
10
  import { TopNavStartAttachRef } from '../../../context/top-nav-start/top-nav-start-context';
11
11
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
12
- import { openLayerObserverTopNavStartNamespace, sideNavContentScrollTimelineVar } from '../constants';
12
+ import { openLayerObserverTopNavStartNamespace } from '../constants';
13
13
  import { useSideNavVisibility } from '../side-nav/use-side-nav-visibility';
14
14
  import { SideNavVisibilityState } from '../side-nav/visibility-context';
15
15
 
@@ -36,12 +36,6 @@ var innerStyles = {
36
36
  fullHeightSidebarExpanded: "_15rin7od _glte1osq"
37
37
  };
38
38
 
39
- /**
40
- * The scroll indicator is usually applied in SideNavBody, but if there is no SideNavHeader it is
41
- * applied in TopNavStart instead for layering reasons. See the comment in SideNavHeader for more details.
42
- */
43
- var scrolledShadow = null;
44
-
45
39
  /**
46
40
  * Styles for the outer element, that does not have re-enabled pointer events and spans the entire
47
41
  * width of the TopNavStart area.
@@ -50,10 +44,8 @@ var scrolledShadow = null;
50
44
  */
51
45
  var wrapperStyles = {
52
46
  root: "_vchhusvi _bozgutpp _4t3i1osq _13wnh2mm _1l3vb3bt _juxdstnw _1vinidpf _1719idpf _e6znidpf _1kyhe4h9 _4cwynqa1 _435s1l7x _m7c3idpf",
53
- fullHeightSidebarExpanded: "_glte93mn _exxmpxbi _4ap3vuon _m7c3kb7n",
54
- fullHeightSidebarExpandedScrollTimeline: "_5gdsgc9s _53fr1ybg _bt1c1hrf",
55
- fullHeightSidebarBorderTransition: "_n8qabrmi _wc72fnf5 _j3mr1v42",
56
- fullHeightSidebarExpandedWithFeedback: "_exxmutpp"
47
+ fullHeightSidebarExpanded: "_glte93mn _exxmutpp _4ap3vuon _m7c3kb7n",
48
+ fullHeightSidebarBorderTransition: "_n8qabrmi _wc72fnf5 _j3mr1v42"
57
49
  };
58
50
 
59
51
  /**
@@ -135,7 +127,7 @@ var TopNavStartInnerFHS = /*#__PURE__*/forwardRef(function TopNavStartInnerFHS(_
135
127
  }
136
128
  }, [sideNavState]);
137
129
  return /*#__PURE__*/React.createElement("div", {
138
- className: ax([wrapperStyles.root, isExpandedOnDesktop && wrapperStyles.fullHeightSidebarExpanded, isExpandedOnDesktop && fg('platform_dst_nav4_fhs_feedback_1') && wrapperStyles.fullHeightSidebarExpandedWithFeedback, !isFirstRenderRef.current && isExpandedOnDesktop && wrapperStyles.fullHeightSidebarBorderTransition, isExpandedOnDesktop && !fg('platform_dst_nav4_fhs_feedback_1') && wrapperStyles.fullHeightSidebarExpandedScrollTimeline])
130
+ className: ax([wrapperStyles.root, isExpandedOnDesktop && wrapperStyles.fullHeightSidebarExpanded, !isFirstRenderRef.current && isExpandedOnDesktop && wrapperStyles.fullHeightSidebarBorderTransition])
139
131
  }, /*#__PURE__*/React.createElement("div", {
140
132
  ref: ref,
141
133
  "data-testid": testId,
@@ -48,8 +48,3 @@ export declare const openLayerObserverSideNavNamespace = "side-nav";
48
48
  export declare const openLayerObserverTopNavStartNamespace = "top-nav-start";
49
49
  export declare const openLayerObserverTopNavMiddleNamespace = "top-nav-middle";
50
50
  export declare const openLayerObserverTopNavEndNamespace = "top-nav-end";
51
- /**
52
- * CSS scroll timeline variable for the side nav content scroll indicator.
53
- * The scroll timeline is created in SideNavBody, and then used by TopNavStart to apply the scroll indicator line.
54
- */
55
- export declare const sideNavContentScrollTimelineVar = "--sNcst";
@@ -48,8 +48,3 @@ export declare const openLayerObserverSideNavNamespace = "side-nav";
48
48
  export declare const openLayerObserverTopNavStartNamespace = "top-nav-start";
49
49
  export declare const openLayerObserverTopNavMiddleNamespace = "top-nav-middle";
50
50
  export declare const openLayerObserverTopNavEndNamespace = "top-nav-end";
51
- /**
52
- * CSS scroll timeline variable for the side nav content scroll indicator.
53
- * The scroll timeline is created in SideNavBody, and then used by TopNavStart to apply the scroll indicator line.
54
- */
55
- export declare const sideNavContentScrollTimelineVar = "--sNcst";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/navigation-system",
3
- "version": "7.0.0",
3
+ "version": "7.1.0",
4
4
  "description": "The latest navigation system for Atlassian apps.",
5
5
  "repository": "https://bitbucket.org/atlassian/atlassian-frontend-mirror",
6
6
  "author": "Atlassian Pty Ltd",
@@ -63,7 +63,7 @@
63
63
  }
64
64
  },
65
65
  "dependencies": {
66
- "@atlaskit/analytics-next": "^11.1.0",
66
+ "@atlaskit/analytics-next": "^11.2.0",
67
67
  "@atlaskit/avatar": "^25.10.0",
68
68
  "@atlaskit/button": "^23.10.0",
69
69
  "@atlaskit/css": "^0.19.0",
@@ -97,13 +97,13 @@
97
97
  "@atlaskit/badge": "^18.4.0",
98
98
  "@atlaskit/banner": "^14.0.0",
99
99
  "@atlaskit/breadcrumbs": "^15.3.0",
100
- "@atlaskit/dropdown-menu": "^16.7.0",
101
- "@atlaskit/form": "^15.4.0",
100
+ "@atlaskit/dropdown-menu": "^16.8.0",
101
+ "@atlaskit/form": "^15.5.0",
102
102
  "@atlaskit/heading": "^5.3.0",
103
103
  "@atlaskit/link": "^3.3.0",
104
104
  "@atlaskit/lozenge": "^13.5.0",
105
105
  "@atlaskit/menu": "^8.4.0",
106
- "@atlaskit/modal-dialog": "^14.11.0",
106
+ "@atlaskit/modal-dialog": "^14.12.0",
107
107
  "@atlaskit/onboarding": "^14.5.0",
108
108
  "@atlaskit/page-header": "^12.1.0",
109
109
  "@atlaskit/page-layout": "^4.2.0",
@@ -147,9 +147,6 @@
147
147
  "platform_dst_nav4_ribbon_slot": {
148
148
  "type": "boolean"
149
149
  },
150
- "platform_dst_nav4_fhs_feedback_1": {
151
- "type": "boolean"
152
- },
153
150
  "platform_dst_nav4_top_nav_increase_height": {
154
151
  "type": "boolean"
155
152
  },