@atlaskit/navigation-system 5.5.1 → 5.7.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.
- package/CHANGELOG.md +22 -0
- package/dist/cjs/entry-points/fhs-rollout.js +26 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +14 -0
- package/dist/cjs/ui/fhs-rollout/is-fhs-enabled-context.js +17 -0
- package/dist/cjs/ui/fhs-rollout/is-fhs-enabled-provider.js +29 -0
- package/dist/cjs/ui/fhs-rollout/types.js +1 -0
- package/dist/cjs/ui/fhs-rollout/use-is-fhs-enabled.js +17 -0
- package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +9 -2
- package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +6 -2
- package/dist/cjs/ui/page-layout/side-nav/side-nav.js +10 -6
- package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +12 -3
- package/dist/cjs/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +7 -3
- package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +5 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +5 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +14 -10
- package/dist/cjs/ui/page-layout/top-nav/top-nav.js +8 -4
- package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +7 -3
- package/dist/cjs/ui/top-nav-items/search.js +5 -1
- package/dist/es2019/entry-points/fhs-rollout.js +3 -0
- package/dist/es2019/index.js +3 -0
- package/dist/es2019/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +9 -0
- package/dist/es2019/ui/fhs-rollout/is-fhs-enabled-context.js +9 -0
- package/dist/es2019/ui/fhs-rollout/is-fhs-enabled-provider.js +23 -0
- package/dist/es2019/ui/fhs-rollout/types.js +0 -0
- package/dist/es2019/ui/fhs-rollout/use-is-fhs-enabled.js +12 -0
- package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +9 -2
- package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +7 -2
- package/dist/es2019/ui/page-layout/side-nav/side-nav.js +10 -6
- package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +12 -3
- package/dist/es2019/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +7 -3
- package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +5 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +5 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +14 -10
- package/dist/es2019/ui/page-layout/top-nav/top-nav.js +8 -4
- package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +7 -3
- package/dist/es2019/ui/top-nav-items/search.js +40 -34
- package/dist/esm/entry-points/fhs-rollout.js +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/ui/fhs-rollout/is-custom-is-fhs-enabled-context.js +9 -0
- package/dist/esm/ui/fhs-rollout/is-fhs-enabled-context.js +11 -0
- package/dist/esm/ui/fhs-rollout/is-fhs-enabled-provider.js +22 -0
- package/dist/esm/ui/fhs-rollout/types.js +0 -0
- package/dist/esm/ui/fhs-rollout/use-is-fhs-enabled.js +12 -0
- package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +9 -2
- package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +7 -2
- package/dist/esm/ui/page-layout/side-nav/side-nav.js +10 -6
- package/dist/esm/ui/page-layout/side-nav/toggle-button.js +12 -3
- package/dist/esm/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +7 -3
- package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +5 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +5 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +14 -10
- package/dist/esm/ui/page-layout/top-nav/top-nav.js +8 -4
- package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +7 -3
- package/dist/esm/ui/top-nav-items/search.js +5 -1
- package/dist/types/entry-points/fhs-rollout.d.ts +3 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/ui/fhs-rollout/is-custom-is-fhs-enabled-context.d.ts +7 -0
- package/dist/types/ui/fhs-rollout/is-fhs-enabled-context.d.ts +8 -0
- package/dist/types/ui/fhs-rollout/is-fhs-enabled-provider.d.ts +10 -0
- package/dist/types/ui/fhs-rollout/types.d.ts +1 -0
- package/dist/types/ui/fhs-rollout/use-is-fhs-enabled.d.ts +6 -0
- package/dist/types/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -1
- package/dist/types/ui/page-layout/panel-splitter/side-nav-panel-splitter.d.ts +1 -1
- package/dist/types/ui/page-layout/root.d.ts +1 -1
- package/dist/types/ui/page-layout/side-nav/side-nav.d.ts +1 -1
- package/dist/types-ts4.5/entry-points/fhs-rollout.d.ts +3 -0
- package/dist/types-ts4.5/index.d.ts +3 -0
- package/dist/types-ts4.5/ui/fhs-rollout/is-custom-is-fhs-enabled-context.d.ts +7 -0
- package/dist/types-ts4.5/ui/fhs-rollout/is-fhs-enabled-context.d.ts +8 -0
- package/dist/types-ts4.5/ui/fhs-rollout/is-fhs-enabled-provider.d.ts +10 -0
- package/dist/types-ts4.5/ui/fhs-rollout/types.d.ts +1 -0
- package/dist/types-ts4.5/ui/fhs-rollout/use-is-fhs-enabled.d.ts +6 -0
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -1
- package/dist/types-ts4.5/ui/page-layout/panel-splitter/side-nav-panel-splitter.d.ts +1 -1
- package/dist/types-ts4.5/ui/page-layout/root.d.ts +1 -1
- package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav.d.ts +1 -1
- package/fhs-rollout/package.json +17 -0
- package/package.json +7 -4
|
@@ -6,6 +6,7 @@ import { cx } from '@atlaskit/css';
|
|
|
6
6
|
import SearchIcon from '@atlaskit/icon/core/search';
|
|
7
7
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
8
|
import { Pressable, Show, Text } from '@atlaskit/primitives/compiled';
|
|
9
|
+
import { useIsFhsEnabled } from '../fhs-rollout/use-is-fhs-enabled';
|
|
9
10
|
import { IconButton } from './themed/migration';
|
|
10
11
|
const styles = {
|
|
11
12
|
root: "_2rko12b0 _1rjcze3t _18zr12x7 _yv0e1mfv _4cvr1h6o _bfhk1j9a _vchhusvi _80om1kdv _1e0cglyw _4t3izwfg _p12f1kvu _1bsb1osq _irr3l4ek _1di6r01l _114b11p5",
|
|
@@ -27,37 +28,42 @@ export const Search = ({
|
|
|
27
28
|
elemAfter,
|
|
28
29
|
interactionName,
|
|
29
30
|
'aria-haspopup': ariaHaspopup
|
|
30
|
-
}) =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
}, /*#__PURE__*/React.createElement(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
31
|
+
}) => {
|
|
32
|
+
const isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
33
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
34
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
35
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Pressable, {
|
|
36
|
+
style: {
|
|
37
|
+
// To win the specificity war against Emotion we move this into inline styles
|
|
38
|
+
// When Emotion has been stripped from the Design System move this to Compiled.
|
|
39
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
40
|
+
cursor: 'text',
|
|
41
|
+
border: `${"var(--ds-border-width, 1px)"} solid ${"var(--ds-border-input, #8C8F97)"}`
|
|
42
|
+
},
|
|
43
|
+
onClick: onClick,
|
|
44
|
+
xcss: cx(styles.root, isFhsEnabled && styles.fullHeightSidebar),
|
|
45
|
+
interactionName: interactionName,
|
|
46
|
+
"aria-haspopup": ariaHaspopup
|
|
47
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
48
|
+
className: ax([styles.iconBefore])
|
|
49
|
+
}, /*#__PURE__*/React.createElement(IconBefore, {
|
|
50
|
+
color: "var(--ds-icon-subtle, #505258)",
|
|
51
|
+
spacing: "spacious",
|
|
52
|
+
label: ""
|
|
53
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: ax([styles.buttonText])
|
|
55
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
56
|
+
color: "color.text.subtlest"
|
|
57
|
+
}, label)), elemAfter && /*#__PURE__*/React.createElement("span", {
|
|
58
|
+
className: ax([styles.elemAfter])
|
|
59
|
+
}, elemAfter)), /*#__PURE__*/React.createElement(Show, {
|
|
60
|
+
below: "xs"
|
|
61
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
62
|
+
label: label,
|
|
63
|
+
appearance: "subtle",
|
|
64
|
+
icon: SearchIcon,
|
|
65
|
+
onClick: onClick,
|
|
66
|
+
interactionName: interactionName,
|
|
67
|
+
"aria-haspopup": ariaHaspopup
|
|
68
|
+
})));
|
|
69
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { IsFhsEnabledContext } from './ui/fhs-rollout/is-fhs-enabled-context';
|
|
2
|
+
export { IsFhsEnabledProvider } from './ui/fhs-rollout/is-fhs-enabled-provider';
|
|
3
|
+
export { useIsFhsEnabled } from './ui/fhs-rollout/use-is-fhs-enabled';
|
|
1
4
|
export { ExpandableMenuItem } from './ui/menu-item/expandable-menu-item/expandable-menu-item';
|
|
2
5
|
export { ExpandableMenuItemTrigger } from './ui/menu-item/expandable-menu-item/expandable-menu-item-trigger';
|
|
3
6
|
export { ExpandableMenuItemContent } from './ui/menu-item/expandable-menu-item/expandable-menu-item-content';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* __Is custom is fhs enabled context__
|
|
5
|
+
*
|
|
6
|
+
* Tracks if a custom value has been provided for `IsFhsEnabledContext`.
|
|
7
|
+
* Used to prevent nesting of the `IsFhsEnabledProvider`.
|
|
8
|
+
*/
|
|
9
|
+
export var IsCustomIsFhsEnabledContext = /*#__PURE__*/createContext(false);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
|
+
/**
|
|
4
|
+
* __Is fhs enabled context__
|
|
5
|
+
*
|
|
6
|
+
* Tracks is FHS enabled.
|
|
7
|
+
* Defaults to feature gate 'navx-full-height-sidebar'.
|
|
8
|
+
*/
|
|
9
|
+
export var IsFhsEnabledContext = /*#__PURE__*/createContext(function () {
|
|
10
|
+
return fg('navx-full-height-sidebar');
|
|
11
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { IsCustomIsFhsEnabledContext } from './is-custom-is-fhs-enabled-context';
|
|
3
|
+
import { IsFhsEnabledContext } from './is-fhs-enabled-context';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* __Is fhs enabled provider__
|
|
7
|
+
*
|
|
8
|
+
* Used to provide a custom value for is FHS enabled.
|
|
9
|
+
*/
|
|
10
|
+
export var IsFhsEnabledProvider = function IsFhsEnabledProvider(_ref) {
|
|
11
|
+
var children = _ref.children,
|
|
12
|
+
value = _ref.value;
|
|
13
|
+
var isCustomIsFhsEnabled = useContext(IsCustomIsFhsEnabledContext);
|
|
14
|
+
if (isCustomIsFhsEnabled) {
|
|
15
|
+
throw new Error('A custom value for IsFhsEnabledContext has already been provided');
|
|
16
|
+
}
|
|
17
|
+
return /*#__PURE__*/React.createElement(IsCustomIsFhsEnabledContext.Provider, {
|
|
18
|
+
value: true
|
|
19
|
+
}, /*#__PURE__*/React.createElement(IsFhsEnabledContext.Provider, {
|
|
20
|
+
value: value
|
|
21
|
+
}, children));
|
|
22
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { IsFhsEnabledContext } from './is-fhs-enabled-context';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* __Use is fhs enabled__
|
|
6
|
+
*
|
|
7
|
+
* Retrieves is FHS enabled.
|
|
8
|
+
*/
|
|
9
|
+
export var useIsFhsEnabled = function useIsFhsEnabled() {
|
|
10
|
+
var isFhsEnabled = useContext(IsFhsEnabledContext);
|
|
11
|
+
return typeof isFhsEnabled === 'boolean' ? isFhsEnabled : isFhsEnabled();
|
|
12
|
+
};
|
|
@@ -21,6 +21,7 @@ import { disableNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/elem
|
|
|
21
21
|
import { preventUnhandled } from '@atlaskit/pragmatic-drag-and-drop/prevent-unhandled';
|
|
22
22
|
import Tooltip from '@atlaskit/tooltip';
|
|
23
23
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
24
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
24
25
|
import { OnDoubleClickContext, PanelSplitterContext } from './context';
|
|
25
26
|
import { convertResizeBoundToPixels } from './convert-resize-bound-to-pixels';
|
|
26
27
|
import { getPercentageWithinPixelBounds } from './get-percentage-within-pixel-bounds';
|
|
@@ -49,7 +50,10 @@ var MaybeTooltip = function MaybeTooltip(_ref) {
|
|
|
49
50
|
var tooltipContent = _ref.tooltipContent,
|
|
50
51
|
shortcut = _ref.shortcut,
|
|
51
52
|
children = _ref.children;
|
|
52
|
-
|
|
53
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
54
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
55
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
56
|
+
if (tooltipContent && isFhsEnabled) {
|
|
53
57
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
54
58
|
content: tooltipContent,
|
|
55
59
|
shortcut: shortcut,
|
|
@@ -83,6 +87,9 @@ var PortaledPanelSplitter = function PortaledPanelSplitter(_ref2) {
|
|
|
83
87
|
position = _ref2.position,
|
|
84
88
|
tooltipContent = _ref2.tooltipContent,
|
|
85
89
|
shortcut = _ref2.shortcut;
|
|
90
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
91
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
92
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
86
93
|
var splitterRef = useRef(null);
|
|
87
94
|
var labelId = useId();
|
|
88
95
|
// Separate state used for the input range width to remove the UI's dependency on the "persisted" layout state value being updated
|
|
@@ -299,7 +306,7 @@ var PortaledPanelSplitter = function PortaledPanelSplitter(_ref2) {
|
|
|
299
306
|
ref: splitterRef,
|
|
300
307
|
"data-testid": testId,
|
|
301
308
|
onDoubleClick: onDoubleClick,
|
|
302
|
-
className: ax([grabAreaStyles.root,
|
|
309
|
+
className: ax([grabAreaStyles.root, isFhsEnabled && grabAreaStyles.fullHeightSidebar])
|
|
303
310
|
}, /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("input", {
|
|
304
311
|
type: "range",
|
|
305
312
|
value: rangeInputValue,
|
|
@@ -4,6 +4,8 @@ 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
6
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
8
|
+
|
|
7
9
|
/**
|
|
8
10
|
* The main content of the side nav, filling up the middle section. It acts as a scroll container.
|
|
9
11
|
*
|
|
@@ -35,14 +37,17 @@ var fullHeightSidebarStyles = {
|
|
|
35
37
|
function _SideNavContent(_ref, forwardedRef) {
|
|
36
38
|
var children = _ref.children,
|
|
37
39
|
testId = _ref.testId;
|
|
40
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
41
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
42
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
38
43
|
var internalRef = useRef(null);
|
|
39
44
|
var mergedRef = useMemo(function () {
|
|
40
45
|
return mergeRefs([internalRef, forwardedRef]);
|
|
41
46
|
}, [forwardedRef]);
|
|
42
47
|
return /*#__PURE__*/React.createElement("div", {
|
|
43
|
-
ref:
|
|
48
|
+
ref: isFhsEnabled ? mergedRef : forwardedRef,
|
|
44
49
|
"data-testid": testId,
|
|
45
|
-
className: ax([styles.scrollContainer,
|
|
50
|
+
className: ax([styles.scrollContainer, isFhsEnabled && fullHeightSidebarStyles.scrollContainer])
|
|
46
51
|
}, /*#__PURE__*/React.createElement("div", {
|
|
47
52
|
className: ax([styles.paddingContainer])
|
|
48
53
|
}, children));
|
|
@@ -19,6 +19,7 @@ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/ad
|
|
|
19
19
|
import { media } from '@atlaskit/primitives/responsive';
|
|
20
20
|
import { useSkipLinkInternal } from '../../../context/skip-links/skip-links-context';
|
|
21
21
|
import { TopNavStartElement } from '../../../context/top-nav-start/top-nav-start-context';
|
|
22
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
22
23
|
import { bannerMountedVar, contentHeightWhenFixed, contentInsetBlockStart, localSlotLayers, sideNavLiveWidthVar, sideNavPanelSplitterId, sideNavVar, topNavMountedVar, UNSAFE_sideNavLayoutVar } from '../constants';
|
|
23
24
|
import { DangerouslyHoistSlotSizes } from '../hoist-slot-sizes-context';
|
|
24
25
|
import { DangerouslyHoistCssVarToDocumentRoot } from '../hoist-utils';
|
|
@@ -96,6 +97,9 @@ function SideNavInternal(_ref) {
|
|
|
96
97
|
onPeekEnd = _ref.onPeekEnd,
|
|
97
98
|
providedId = _ref.id,
|
|
98
99
|
canToggleWithShortcut = _ref.canToggleWithShortcut;
|
|
100
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
101
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
102
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
99
103
|
var id = useLayoutId({
|
|
100
104
|
providedId: providedId
|
|
101
105
|
});
|
|
@@ -300,9 +304,9 @@ function SideNavInternal(_ref) {
|
|
|
300
304
|
}
|
|
301
305
|
if (action === 'ready-to-close') {
|
|
302
306
|
// If there are no open layers, we can close the flyout.
|
|
303
|
-
if (openLayerObserver.getCount({
|
|
307
|
+
if ((openLayerObserver === null || openLayerObserver === void 0 ? void 0 : openLayerObserver.getCount({
|
|
304
308
|
namespace: openLayerObserverSideNavNamespace
|
|
305
|
-
}) === 0) {
|
|
309
|
+
})) === 0) {
|
|
306
310
|
close();
|
|
307
311
|
return;
|
|
308
312
|
}
|
|
@@ -658,7 +662,7 @@ function SideNavInternal(_ref) {
|
|
|
658
662
|
// Close the flyout if there are no more layers open and the user is not mousing over the
|
|
659
663
|
// flyout areas (side nav, TopNavStart element)
|
|
660
664
|
|
|
661
|
-
return openLayerObserver.onChange(function (_ref6) {
|
|
665
|
+
return openLayerObserver === null || openLayerObserver === void 0 ? void 0 : openLayerObserver.onChange(function (_ref6) {
|
|
662
666
|
var count = _ref6.count;
|
|
663
667
|
if (flyoutStateRef.current.type === 'ready-to-close' && count === 0) {
|
|
664
668
|
updateFlyoutState('force-close');
|
|
@@ -704,13 +708,13 @@ function SideNavInternal(_ref) {
|
|
|
704
708
|
// Otherwise, the `@starting-style` rule will cause the sidebar to slide in initially.
|
|
705
709
|
var isFirstRenderRef = useRef(true);
|
|
706
710
|
useEffect(function () {
|
|
707
|
-
if (!
|
|
711
|
+
if (!isFhsEnabled) {
|
|
708
712
|
return;
|
|
709
713
|
}
|
|
710
714
|
if (isFirstRenderRef.current) {
|
|
711
715
|
isFirstRenderRef.current = false;
|
|
712
716
|
}
|
|
713
|
-
}, []);
|
|
717
|
+
}, [isFhsEnabled]);
|
|
714
718
|
|
|
715
719
|
// This is only used for the regular expand and collapse animations, not the flyout animations.
|
|
716
720
|
var shouldShowSidebarToggleAnimation =
|
|
@@ -744,7 +748,7 @@ function SideNavInternal(_ref) {
|
|
|
744
748
|
style: _defineProperty({}, sideNavVar, clampedWidth),
|
|
745
749
|
ref: mergedRef,
|
|
746
750
|
"data-testid": testId,
|
|
747
|
-
className: ax([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop,
|
|
751
|
+
className: ax([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isFhsEnabled && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && isFhsEnabled && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isFhsEnabled && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && styles.flyoutAnimateClosed, ((sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' || (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close') && !isFirefox && isFhsEnabled && styles.flyoutBaseStylesFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && styles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && styles.flyoutAnimateClosedFullHeightSidebar, isFlyoutClosed && isFhsEnabled && styles.fullHeightSidebar])
|
|
748
752
|
}), /*#__PURE__*/React.createElement(DangerouslyHoistCssVarToDocumentRoot, {
|
|
749
753
|
variableName: sideNavLiveWidthVar,
|
|
750
754
|
value: "0px",
|
|
@@ -10,7 +10,9 @@ import { bind } from 'bind-event-listener';
|
|
|
10
10
|
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
11
11
|
import SidebarCollapseIcon from '@atlaskit/icon/core/sidebar-collapse';
|
|
12
12
|
import SidebarExpandIcon from '@atlaskit/icon/core/sidebar-expand';
|
|
13
|
+
import { useOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
13
14
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
15
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
14
16
|
import { IconButton } from '../../top-nav-items/themed/migration';
|
|
15
17
|
import { useIsSideNavShortcutEnabled } from './is-side-nav-shortcut-enabled-context';
|
|
16
18
|
import { sideNavToggleTooltipKeyboardShortcut } from './side-nav-toggle-tooltip-keyboard-shortcut';
|
|
@@ -40,6 +42,9 @@ export var SideNavToggleButton = function SideNavToggleButton(_ref) {
|
|
|
40
42
|
testId = _ref.testId,
|
|
41
43
|
interactionName = _ref.interactionName,
|
|
42
44
|
onClick = _ref.onClick;
|
|
45
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
46
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
47
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
43
48
|
var _useSideNavVisibility = useSideNavVisibility({
|
|
44
49
|
defaultCollapsed: defaultCollapsed
|
|
45
50
|
}),
|
|
@@ -99,12 +104,16 @@ export var SideNavToggleButton = function SideNavToggleButton(_ref) {
|
|
|
99
104
|
});
|
|
100
105
|
var _useAnalyticsEvents = useAnalyticsEvents(),
|
|
101
106
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
107
|
+
var openLayerObserver = useOpenLayerObserver();
|
|
102
108
|
var handleClick = useCallback(function (event, analyticsEvent) {
|
|
103
109
|
onClick === null || onClick === void 0 || onClick(event, analyticsEvent, {
|
|
104
110
|
isSideNavVisible: isSideNavExpanded
|
|
105
111
|
});
|
|
106
112
|
toggleVisibility();
|
|
107
|
-
|
|
113
|
+
if (fg('navx-full-height-sidebar')) {
|
|
114
|
+
openLayerObserver === null || openLayerObserver === void 0 || openLayerObserver.closeLayers();
|
|
115
|
+
}
|
|
116
|
+
}, [onClick, isSideNavExpanded, toggleVisibility, openLayerObserver]);
|
|
108
117
|
var handlePointerEnter = useCallback(function () {
|
|
109
118
|
if (!fg('platform_dst_nav4_fhs_instrumentation_1')) {
|
|
110
119
|
return;
|
|
@@ -149,13 +158,13 @@ export var SideNavToggleButton = function SideNavToggleButton(_ref) {
|
|
|
149
158
|
};
|
|
150
159
|
var isShortcutEnabled = useIsSideNavShortcutEnabled();
|
|
151
160
|
var tooltipProps = useMemo(function () {
|
|
152
|
-
if (
|
|
161
|
+
if (isFhsEnabled) {
|
|
153
162
|
return _objectSpread(_objectSpread({}, toggleButtonTooltipOptions), {}, {
|
|
154
163
|
shortcut: isShortcutEnabled ? sideNavToggleTooltipKeyboardShortcut : undefined
|
|
155
164
|
});
|
|
156
165
|
}
|
|
157
166
|
return toggleButtonTooltipOptions;
|
|
158
|
-
}, [isShortcutEnabled]);
|
|
167
|
+
}, [isFhsEnabled, isShortcutEnabled]);
|
|
159
168
|
return /*#__PURE__*/React.createElement(IconButton, {
|
|
160
169
|
appearance: "subtle",
|
|
161
170
|
label: isSideNavExpanded ? collapseLabel : expandLabel,
|
|
@@ -3,6 +3,7 @@ import { bind } from 'bind-event-listener';
|
|
|
3
3
|
import useStableRef from '@atlaskit/ds-lib/use-stable-ref';
|
|
4
4
|
import { useOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
|
|
5
5
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
6
7
|
import { useIsSideNavShortcutEnabled } from './is-side-nav-shortcut-enabled-context';
|
|
7
8
|
import { useToggleSideNav } from './use-toggle-side-nav';
|
|
8
9
|
|
|
@@ -11,6 +12,9 @@ import { useToggleSideNav } from './use-toggle-side-nav';
|
|
|
11
12
|
*/
|
|
12
13
|
export function useSideNavToggleKeyboardShortcut(_ref) {
|
|
13
14
|
var canToggleWithShortcut = _ref.canToggleWithShortcut;
|
|
15
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
16
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
17
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
14
18
|
var openLayerObserver = useOpenLayerObserver();
|
|
15
19
|
var toggleVisibilityByShortcut = useToggleSideNav({
|
|
16
20
|
trigger: 'keyboard'
|
|
@@ -18,7 +22,7 @@ export function useSideNavToggleKeyboardShortcut(_ref) {
|
|
|
18
22
|
var canToggleWithShortcutStableRef = useStableRef(canToggleWithShortcut);
|
|
19
23
|
var isSideNavShortcutEnabled = useIsSideNavShortcutEnabled();
|
|
20
24
|
useEffect(function () {
|
|
21
|
-
if (!
|
|
25
|
+
if (!isFhsEnabled) {
|
|
22
26
|
return;
|
|
23
27
|
}
|
|
24
28
|
if (!isSideNavShortcutEnabled) {
|
|
@@ -37,7 +41,7 @@ export function useSideNavToggleKeyboardShortcut(_ref) {
|
|
|
37
41
|
// Ignore repeated keydown events from holding down the keys
|
|
38
42
|
return;
|
|
39
43
|
}
|
|
40
|
-
if (openLayerObserver.getCount({
|
|
44
|
+
if (openLayerObserver && openLayerObserver.getCount({
|
|
41
45
|
type: 'modal'
|
|
42
46
|
}) > 0) {
|
|
43
47
|
// Return early if there are any open modals
|
|
@@ -47,5 +51,5 @@ export function useSideNavToggleKeyboardShortcut(_ref) {
|
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
});
|
|
50
|
-
}, [canToggleWithShortcutStableRef, openLayerObserver, toggleVisibilityByShortcut
|
|
54
|
+
}, [canToggleWithShortcutStableRef, isFhsEnabled, isSideNavShortcutEnabled, openLayerObserver, toggleVisibilityByShortcut]);
|
|
51
55
|
}
|
|
@@ -11,6 +11,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
11
11
|
import Popup from '@atlaskit/popup';
|
|
12
12
|
import { UNSAFE_useMediaQuery as useMediaQuery } from '@atlaskit/primitives/compiled';
|
|
13
13
|
import { List } from '../../../components/list';
|
|
14
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
14
15
|
import { HasCustomThemeContext } from '../../top-nav-items/themed/has-custom-theme-context';
|
|
15
16
|
import { IconButton } from '../../top-nav-items/themed/migration';
|
|
16
17
|
var containerStyles = {
|
|
@@ -38,6 +39,9 @@ export function TopNavEnd(_ref) {
|
|
|
38
39
|
label = _ref$label === void 0 ? 'Actions' : _ref$label,
|
|
39
40
|
_ref$showMoreButtonLa = _ref.showMoreButtonLabel,
|
|
40
41
|
showMoreButtonLabel = _ref$showMoreButtonLa === void 0 ? 'Show more' : _ref$showMoreButtonLa;
|
|
42
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
43
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
44
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
41
45
|
var _useState = useState(false),
|
|
42
46
|
_useState2 = _slicedToArray(_useState, 2),
|
|
43
47
|
isOpen = _useState2[0],
|
|
@@ -62,7 +66,7 @@ export function TopNavEnd(_ref) {
|
|
|
62
66
|
}, [query]);
|
|
63
67
|
return /*#__PURE__*/React.createElement("nav", {
|
|
64
68
|
"aria-label": label,
|
|
65
|
-
className: ax([containerStyles.root,
|
|
69
|
+
className: ax([containerStyles.root, isFhsEnabled && containerStyles.fullHeightSidebar, fg('team25-eu-jira-logo-updates-csm-jsm') && containerStyles.jiraProductLogoUpdate])
|
|
66
70
|
}, isMobile ? /*#__PURE__*/React.createElement(Popup, {
|
|
67
71
|
isOpen: isOpen,
|
|
68
72
|
onClose: function onClose() {
|
|
@@ -3,6 +3,7 @@ import "./top-nav-middle.compiled.css";
|
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
6
7
|
var styles = {
|
|
7
8
|
root: "_zulpu2gc _yyhycs5v _1bsb1osq _4cvr1h6o _1e0c1txw _1bahh9n0 _181n11p5 _1j8b15b0 _lagd1bp4 _1t4c1ris _12e8h9n0",
|
|
8
9
|
fullHeightSidebar: "_lcxv1wug"
|
|
@@ -18,7 +19,10 @@ var styles = {
|
|
|
18
19
|
*/
|
|
19
20
|
export function TopNavMiddle(_ref) {
|
|
20
21
|
var children = _ref.children;
|
|
22
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
23
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
24
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
21
25
|
return /*#__PURE__*/React.createElement("div", {
|
|
22
|
-
className: ax([styles.root,
|
|
26
|
+
className: ax([styles.root, isFhsEnabled && styles.fullHeightSidebar])
|
|
23
27
|
}, children);
|
|
24
28
|
}
|
|
@@ -7,6 +7,7 @@ import useStableRef from '@atlaskit/ds-lib/use-stable-ref';
|
|
|
7
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
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
10
11
|
import { useSideNavVisibility } from '../side-nav/use-side-nav-visibility';
|
|
11
12
|
import { SideNavVisibilityState } from '../side-nav/visibility-context';
|
|
12
13
|
|
|
@@ -25,7 +26,7 @@ var flexGap = "var(--ds-space-050, 4px)";
|
|
|
25
26
|
/**
|
|
26
27
|
* Styles for the TopNavStart element.
|
|
27
28
|
*
|
|
28
|
-
* When `
|
|
29
|
+
* When `useIsFhsEnabled` is true this is the styling for the inner element,
|
|
29
30
|
* which re-enables pointer events.
|
|
30
31
|
*/
|
|
31
32
|
var innerStyles = {
|
|
@@ -39,7 +40,7 @@ var innerStyles = {
|
|
|
39
40
|
* Styles for the outer element, that does not have re-enabled pointer events and spans the entire
|
|
40
41
|
* width of the TopNavStart area.
|
|
41
42
|
*
|
|
42
|
-
* This wrapper element is only rendered when `
|
|
43
|
+
* This wrapper element is only rendered when `useIsFhsEnabled` is true.
|
|
43
44
|
*/
|
|
44
45
|
var wrapperStyles = {
|
|
45
46
|
root: "_vchhusvi _bozgutpp _4t3i1osq",
|
|
@@ -129,6 +130,9 @@ export function TopNavStart(_ref3) {
|
|
|
129
130
|
var children = _ref3.children,
|
|
130
131
|
testId = _ref3.testId,
|
|
131
132
|
sideNavToggleButton = _ref3.sideNavToggleButton;
|
|
133
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
134
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
135
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
132
136
|
var ref = useContext(TopNavStartAttachRef);
|
|
133
137
|
var elementRef = useRef(null);
|
|
134
138
|
|
|
@@ -175,7 +179,7 @@ export function TopNavStart(_ref3) {
|
|
|
175
179
|
var isFirstRenderRef = useRef(true);
|
|
176
180
|
var sideNavState = useContext(SideNavVisibilityState);
|
|
177
181
|
useEffect(function () {
|
|
178
|
-
if (!
|
|
182
|
+
if (!isFhsEnabled) {
|
|
179
183
|
return;
|
|
180
184
|
}
|
|
181
185
|
|
|
@@ -188,13 +192,13 @@ export function TopNavStart(_ref3) {
|
|
|
188
192
|
if (isFirstRenderRef.current) {
|
|
189
193
|
isFirstRenderRef.current = false;
|
|
190
194
|
}
|
|
191
|
-
}, [sideNavState]);
|
|
195
|
+
}, [isFhsEnabled, sideNavState]);
|
|
192
196
|
|
|
193
197
|
// Using a stable ref to avoid re-running the animation layout effect when the toggle button prop value changes, which
|
|
194
198
|
// can happen a lot (e.g. if the parent re-renders)
|
|
195
199
|
var sideNavToggleButtonStableRef = useStableRef(sideNavToggleButton);
|
|
196
200
|
useLayoutEffect(function () {
|
|
197
|
-
if (!
|
|
201
|
+
if (!isFhsEnabled) {
|
|
198
202
|
return;
|
|
199
203
|
}
|
|
200
204
|
|
|
@@ -231,19 +235,19 @@ export function TopNavStart(_ref3) {
|
|
|
231
235
|
});
|
|
232
236
|
|
|
233
237
|
// This layout effect is called when the sidebar's desktop expansion state changes.
|
|
234
|
-
}, [isExpandedOnDesktop, sideNavToggleButtonStableRef]);
|
|
235
|
-
var TopNavStartInner =
|
|
238
|
+
}, [isExpandedOnDesktop, isFhsEnabled, sideNavToggleButtonStableRef]);
|
|
239
|
+
var TopNavStartInner = isFhsEnabled ? TopNavStartInnerFHS : TopNavStartInnerOld;
|
|
236
240
|
return /*#__PURE__*/React.createElement(TopNavStartInner, {
|
|
237
241
|
ref: elementRef,
|
|
238
242
|
testId: testId
|
|
239
|
-
}, !
|
|
243
|
+
}, !isFhsEnabled && sideNavToggleButton, sideNavToggleButton && (!isDesktop || !isExpandedOnDesktop) && isFhsEnabled && /*#__PURE__*/React.createElement("div", {
|
|
240
244
|
key: sideNavToggleButtonKey,
|
|
241
245
|
className: ax([!isFirefox && toggleButtonWrapperStyles.root, !isFirefox && animationState.type === 'idle' && toggleButtonWrapperStyles.finalPosition, !isFirefox &&
|
|
242
246
|
// Timing function is applied when the browser animates to the idle position.
|
|
243
247
|
animationState.type === 'idle' && toggleButtonWrapperStyles.collapseAnimationTimingFunction, !isFirefox && animationState.type === 'collapse' && toggleButtonWrapperStyles.collapseAnimationStartPosition])
|
|
244
|
-
}, sideNavToggleButton),
|
|
248
|
+
}, sideNavToggleButton), isFhsEnabled ? /*#__PURE__*/React.createElement("div", {
|
|
245
249
|
className: ax([childrenWrapperStyles.root, !isFirefox && childrenWrapperStyles.animationBaseStyles, !isFirefox && animationState.type === 'idle' && childrenWrapperStyles.finalPosition, !isFirefox && animationState.type === 'expand' && childrenWrapperStyles.expandAnimationStartPosition, !isFirefox && animationState.type === 'collapse' && childrenWrapperStyles.collapseAnimationStartPosition])
|
|
246
|
-
}, children) : children, sideNavToggleButton && isDesktop && isExpandedOnDesktop &&
|
|
250
|
+
}, children) : children, sideNavToggleButton && isDesktop && isExpandedOnDesktop && isFhsEnabled && /*#__PURE__*/React.createElement("div", {
|
|
247
251
|
key: sideNavToggleButtonKey,
|
|
248
252
|
className: ax([!isFirefox && toggleButtonWrapperStyles.root, toggleButtonWrapperStyles.alignEnd, !isFirefox && animationState.type === 'idle' && toggleButtonWrapperStyles.finalPosition, !isFirefox &&
|
|
249
253
|
// Timing function is applied when the browser animates to the idle position.
|
|
@@ -7,6 +7,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
7
7
|
import { useContext, useMemo } from 'react';
|
|
8
8
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
9
9
|
import { useSkipLink } from '../../../context/skip-links/skip-links-context';
|
|
10
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
10
11
|
import { HasCustomThemeContext } from '../../top-nav-items/themed/has-custom-theme-context';
|
|
11
12
|
import { useCustomTheme } from '../../top-nav-items/themed/use-custom-theme';
|
|
12
13
|
import { bannerMountedVar, localSlotLayers, topNavMountedVar, UNSAFE_topNavVar } from '../constants';
|
|
@@ -51,6 +52,9 @@ export function TopNav(_ref) {
|
|
|
51
52
|
testId = _ref.testId,
|
|
52
53
|
providedId = _ref.id,
|
|
53
54
|
UNSAFE_theme = _ref.UNSAFE_theme;
|
|
55
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
56
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
57
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
54
58
|
var dangerouslyHoistSlotSizes = useContext(DangerouslyHoistSlotSizes);
|
|
55
59
|
var id = useLayoutId({
|
|
56
60
|
providedId: providedId
|
|
@@ -88,21 +92,21 @@ export function TopNav(_ref) {
|
|
|
88
92
|
isExpandedOnDesktop = _useSideNavVisibility.isExpandedOnDesktop;
|
|
89
93
|
return /*#__PURE__*/React.createElement(HasCustomThemeContext.Provider, {
|
|
90
94
|
value: customTheme.isEnabled
|
|
91
|
-
},
|
|
95
|
+
}, isFhsEnabled && /*#__PURE__*/React.createElement("div", {
|
|
92
96
|
"data-layout-slot": true,
|
|
93
97
|
"aria-hidden": true
|
|
94
98
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
95
99
|
,
|
|
96
|
-
style:
|
|
100
|
+
style: isFhsEnabled ? backgroundStyle : undefined,
|
|
97
101
|
className: ax([backgroundStyles.root, isExpandedOnDesktop && backgroundStyles.sideNavExpanded])
|
|
98
102
|
}), /*#__PURE__*/React.createElement("header", {
|
|
99
103
|
id: id,
|
|
100
104
|
"data-layout-slot": true,
|
|
101
|
-
className: ax([styles.root,
|
|
105
|
+
className: ax([styles.root, isFhsEnabled && styles.fullHeightSidebar, isExpandedOnDesktop && isFhsEnabled && styles.fullHeightSidebarExpanded, xcss]),
|
|
102
106
|
"data-testid": testId
|
|
103
107
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
|
|
104
108
|
,
|
|
105
|
-
style:
|
|
109
|
+
style: isFhsEnabled ? foregroundStyle : customTheme.isEnabled ? customTheme.style : undefined
|
|
106
110
|
}, /*#__PURE__*/React.createElement(HoistCssVarToLocalGrid, {
|
|
107
111
|
variableName: topNavMountedVar,
|
|
108
112
|
value: height
|
|
@@ -6,6 +6,7 @@ import { cx } from '@compiled/react';
|
|
|
6
6
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
7
|
import { Anchor, Inline, Text } from '@atlaskit/primitives/compiled';
|
|
8
8
|
import Tooltip from '@atlaskit/tooltip';
|
|
9
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
9
10
|
import { useHasCustomTheme } from '../themed/has-custom-theme-context';
|
|
10
11
|
import { LogoRenderer } from './logo-renderer';
|
|
11
12
|
var anchorStyles = {
|
|
@@ -44,6 +45,9 @@ export var AppLogo = function AppLogo(_ref) {
|
|
|
44
45
|
href = _ref.href,
|
|
45
46
|
icon = _ref.icon,
|
|
46
47
|
onClick = _ref.onClick;
|
|
48
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
49
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
50
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
47
51
|
var ref = useRef(null);
|
|
48
52
|
var nameRef = useRef(null);
|
|
49
53
|
var hasCustomTheme = useHasCustomTheme();
|
|
@@ -62,14 +66,14 @@ export var AppLogo = function AppLogo(_ref) {
|
|
|
62
66
|
// @ts-expect-error - non-standard values for `borderRadius` and the custom theming interaction states
|
|
63
67
|
// eslint-disable-next-line @compiled/no-suppress-xcss
|
|
64
68
|
,
|
|
65
|
-
xcss: cx(anchorStyles.root, hasCustomTheme ? anchorStyles.interactionStatesCustomTheming : anchorStyles.interactionStates,
|
|
69
|
+
xcss: cx(anchorStyles.root, hasCustomTheme ? anchorStyles.interactionStatesCustomTheming : anchorStyles.interactionStates, isFhsEnabled && anchorStyles.fullHeightSidebar),
|
|
66
70
|
onClick: onClick
|
|
67
71
|
}, /*#__PURE__*/React.createElement(Inline, {
|
|
68
72
|
space: "space.075",
|
|
69
73
|
alignBlock: "center",
|
|
70
|
-
xcss: cx(logoWrapperStyles.root,
|
|
74
|
+
xcss: cx(logoWrapperStyles.root, isFhsEnabled && logoWrapperStyles.fullHeightSidebar)
|
|
71
75
|
}, /*#__PURE__*/React.createElement("div", {
|
|
72
|
-
className: ax([iconContainerStyles.root,
|
|
76
|
+
className: ax([iconContainerStyles.root, isFhsEnabled && iconContainerStyles.fullHeightSidebar])
|
|
73
77
|
}, /*#__PURE__*/React.createElement(LogoRenderer
|
|
74
78
|
// Top nav always uses the new logo design
|
|
75
79
|
, {
|