@atlaskit/navigation-system 5.5.1 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -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 +7 -3
- package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +6 -2
- package/dist/cjs/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +6 -2
- 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 +7 -3
- package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +6 -2
- package/dist/es2019/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +6 -2
- 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 +7 -3
- package/dist/esm/ui/page-layout/side-nav/toggle-button.js +6 -2
- package/dist/esm/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +6 -2
- 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 +5 -2
|
@@ -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
|
});
|
|
@@ -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",
|
|
@@ -11,6 +11,7 @@ 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
13
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
14
|
+
import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
|
|
14
15
|
import { IconButton } from '../../top-nav-items/themed/migration';
|
|
15
16
|
import { useIsSideNavShortcutEnabled } from './is-side-nav-shortcut-enabled-context';
|
|
16
17
|
import { sideNavToggleTooltipKeyboardShortcut } from './side-nav-toggle-tooltip-keyboard-shortcut';
|
|
@@ -40,6 +41,9 @@ export var SideNavToggleButton = function SideNavToggleButton(_ref) {
|
|
|
40
41
|
testId = _ref.testId,
|
|
41
42
|
interactionName = _ref.interactionName,
|
|
42
43
|
onClick = _ref.onClick;
|
|
44
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
45
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
46
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
43
47
|
var _useSideNavVisibility = useSideNavVisibility({
|
|
44
48
|
defaultCollapsed: defaultCollapsed
|
|
45
49
|
}),
|
|
@@ -149,13 +153,13 @@ export var SideNavToggleButton = function SideNavToggleButton(_ref) {
|
|
|
149
153
|
};
|
|
150
154
|
var isShortcutEnabled = useIsSideNavShortcutEnabled();
|
|
151
155
|
var tooltipProps = useMemo(function () {
|
|
152
|
-
if (
|
|
156
|
+
if (isFhsEnabled) {
|
|
153
157
|
return _objectSpread(_objectSpread({}, toggleButtonTooltipOptions), {}, {
|
|
154
158
|
shortcut: isShortcutEnabled ? sideNavToggleTooltipKeyboardShortcut : undefined
|
|
155
159
|
});
|
|
156
160
|
}
|
|
157
161
|
return toggleButtonTooltipOptions;
|
|
158
|
-
}, [isShortcutEnabled]);
|
|
162
|
+
}, [isFhsEnabled, isShortcutEnabled]);
|
|
159
163
|
return /*#__PURE__*/React.createElement(IconButton, {
|
|
160
164
|
appearance: "subtle",
|
|
161
165
|
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) {
|
|
@@ -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
|
, {
|
|
@@ -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
|
var styles = {
|
|
11
12
|
root: "_2rko12b0 _1rjcze3t _18zr12x7 _yv0e1mfv _4cvr1h6o _bfhk1j9a _vchhusvi _80om1kdv _1e0cglyw _4t3izwfg _p12f1kvu _1bsb1osq _irr3l4ek _1di6r01l _114b11p5",
|
|
@@ -28,6 +29,9 @@ export var Search = function Search(_ref) {
|
|
|
28
29
|
elemAfter = _ref.elemAfter,
|
|
29
30
|
interactionName = _ref.interactionName,
|
|
30
31
|
ariaHaspopup = _ref['aria-haspopup'];
|
|
32
|
+
var isFhsEnabled = fg('navx-2566-implement-fhs-rollout') ?
|
|
33
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
34
|
+
useIsFhsEnabled() : fg('navx-full-height-sidebar');
|
|
31
35
|
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Pressable, {
|
|
32
36
|
style: {
|
|
33
37
|
// To win the specificity war against Emotion we move this into inline styles
|
|
@@ -37,7 +41,7 @@ export var Search = function Search(_ref) {
|
|
|
37
41
|
border: "var(--ds-border-width, 1px)".concat(" solid ", "var(--ds-border-input, #8C8F97)")
|
|
38
42
|
},
|
|
39
43
|
onClick: onClick,
|
|
40
|
-
xcss: cx(styles.root,
|
|
44
|
+
xcss: cx(styles.root, isFhsEnabled && styles.fullHeightSidebar),
|
|
41
45
|
interactionName: interactionName,
|
|
42
46
|
"aria-haspopup": ariaHaspopup
|
|
43
47
|
}, /*#__PURE__*/React.createElement("span", {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { IsFhsEnabledContext } from './ui/fhs-rollout/is-fhs-enabled-context';
|
|
2
|
+
export { IsFhsEnabledProvider, type IsFhsEnabledProviderProps, } from './ui/fhs-rollout/is-fhs-enabled-provider';
|
|
3
|
+
export { useIsFhsEnabled } from './ui/fhs-rollout/use-is-fhs-enabled';
|
|
1
4
|
export { ExpandableMenuItem, type ExpandableMenuItemProps, } from './ui/menu-item/expandable-menu-item/expandable-menu-item';
|
|
2
5
|
export { ExpandableMenuItemTrigger, type ExpandableMenuItemTriggerProps, } from './ui/menu-item/expandable-menu-item/expandable-menu-item-trigger';
|
|
3
6
|
export { ExpandableMenuItemContent, type ExpandableMenuItemContentProps, } from './ui/menu-item/expandable-menu-item/expandable-menu-item-content';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* __Is custom is fhs enabled context__
|
|
3
|
+
*
|
|
4
|
+
* Tracks if a custom value has been provided for `IsFhsEnabledContext`.
|
|
5
|
+
* Used to prevent nesting of the `IsFhsEnabledProvider`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const IsCustomIsFhsEnabledContext: import("react").Context<boolean>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* __Is fhs enabled provider__
|
|
4
|
+
*
|
|
5
|
+
* Used to provide a custom value for is FHS enabled.
|
|
6
|
+
*/
|
|
7
|
+
export declare const IsFhsEnabledProvider: ({ children, value }: IsFhsEnabledProviderProps) => React.JSX.Element;
|
|
8
|
+
export type IsFhsEnabledProviderProps = PropsWithChildren<{
|
|
9
|
+
value: boolean;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Get<T> = () => T;
|
|
@@ -29,7 +29,7 @@ export type PanelSplitterProps = {
|
|
|
29
29
|
* The `tooltipContent` will not be announced by screen readers because it pertains to the draggable element, which lacks keyboard functionality.
|
|
30
30
|
* Use the `label` prop to provide accessible information about the panel splitter.
|
|
31
31
|
*
|
|
32
|
-
* Only used if
|
|
32
|
+
* Only used if `useIsFhsEnabled` is true.
|
|
33
33
|
*/
|
|
34
34
|
tooltipContent?: TooltipProps['content'];
|
|
35
35
|
};
|
|
@@ -17,7 +17,7 @@ type SideNavPanelSplitterProps = Omit<PanelSplitterProps, 'onDoubleClick' | 'too
|
|
|
17
17
|
*
|
|
18
18
|
* If the `isSideNavShortcutEnabled` prop is enabled on `<Root />`, the built-in keyboard shortcut will be displayed with the tooltip.
|
|
19
19
|
*
|
|
20
|
-
* Only used if
|
|
20
|
+
* Only used if `useIsFhsEnabled` is true.
|
|
21
21
|
*/
|
|
22
22
|
tooltipContent?: PanelSplitterProps['tooltipContent'];
|
|
23
23
|
};
|
|
@@ -61,7 +61,7 @@ export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes,
|
|
|
61
61
|
* is pressed, before the SideNav is toggled. You can use this to conditionally disable the shortcut based on your
|
|
62
62
|
* your own custom checks, e.g. if there is a legacy dialog open.
|
|
63
63
|
*
|
|
64
|
-
* Note: The built-in keyboard shortcut is behind
|
|
64
|
+
* Note: The built-in keyboard shortcut is behind `useIsFhsEnabled`.
|
|
65
65
|
*/
|
|
66
66
|
isSideNavShortcutEnabled?: boolean;
|
|
67
67
|
}): JSX.Element;
|
|
@@ -72,7 +72,7 @@ type SideNavProps = CommonSlotProps & {
|
|
|
72
72
|
*
|
|
73
73
|
* The shortcut key is `Ctrl` + `[`.
|
|
74
74
|
*
|
|
75
|
-
* Note: The built-in keyboard shortcut is behind
|
|
75
|
+
* Note: The built-in keyboard shortcut is behind `useIsFhsEnabled`.
|
|
76
76
|
*/
|
|
77
77
|
canToggleWithShortcut?: () => boolean;
|
|
78
78
|
};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { IsFhsEnabledContext } from './ui/fhs-rollout/is-fhs-enabled-context';
|
|
2
|
+
export { IsFhsEnabledProvider, type IsFhsEnabledProviderProps, } from './ui/fhs-rollout/is-fhs-enabled-provider';
|
|
3
|
+
export { useIsFhsEnabled } from './ui/fhs-rollout/use-is-fhs-enabled';
|
|
1
4
|
export { ExpandableMenuItem, type ExpandableMenuItemProps, } from './ui/menu-item/expandable-menu-item/expandable-menu-item';
|
|
2
5
|
export { ExpandableMenuItemTrigger, type ExpandableMenuItemTriggerProps, } from './ui/menu-item/expandable-menu-item/expandable-menu-item-trigger';
|
|
3
6
|
export { ExpandableMenuItemContent, type ExpandableMenuItemContentProps, } from './ui/menu-item/expandable-menu-item/expandable-menu-item-content';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* __Is custom is fhs enabled context__
|
|
3
|
+
*
|
|
4
|
+
* Tracks if a custom value has been provided for `IsFhsEnabledContext`.
|
|
5
|
+
* Used to prevent nesting of the `IsFhsEnabledProvider`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const IsCustomIsFhsEnabledContext: import("react").Context<boolean>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* __Is fhs enabled provider__
|
|
4
|
+
*
|
|
5
|
+
* Used to provide a custom value for is FHS enabled.
|
|
6
|
+
*/
|
|
7
|
+
export declare const IsFhsEnabledProvider: ({ children, value }: IsFhsEnabledProviderProps) => React.JSX.Element;
|
|
8
|
+
export type IsFhsEnabledProviderProps = PropsWithChildren<{
|
|
9
|
+
value: boolean;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Get<T> = () => T;
|
|
@@ -29,7 +29,7 @@ export type PanelSplitterProps = {
|
|
|
29
29
|
* The `tooltipContent` will not be announced by screen readers because it pertains to the draggable element, which lacks keyboard functionality.
|
|
30
30
|
* Use the `label` prop to provide accessible information about the panel splitter.
|
|
31
31
|
*
|
|
32
|
-
* Only used if
|
|
32
|
+
* Only used if `useIsFhsEnabled` is true.
|
|
33
33
|
*/
|
|
34
34
|
tooltipContent?: TooltipProps['content'];
|
|
35
35
|
};
|
|
@@ -17,7 +17,7 @@ type SideNavPanelSplitterProps = Omit<PanelSplitterProps, 'onDoubleClick' | 'too
|
|
|
17
17
|
*
|
|
18
18
|
* If the `isSideNavShortcutEnabled` prop is enabled on `<Root />`, the built-in keyboard shortcut will be displayed with the tooltip.
|
|
19
19
|
*
|
|
20
|
-
* Only used if
|
|
20
|
+
* Only used if `useIsFhsEnabled` is true.
|
|
21
21
|
*/
|
|
22
22
|
tooltipContent?: PanelSplitterProps['tooltipContent'];
|
|
23
23
|
};
|
|
@@ -61,7 +61,7 @@ export declare function Root({ children, xcss, UNSAFE_dangerouslyHoistSlotSizes,
|
|
|
61
61
|
* is pressed, before the SideNav is toggled. You can use this to conditionally disable the shortcut based on your
|
|
62
62
|
* your own custom checks, e.g. if there is a legacy dialog open.
|
|
63
63
|
*
|
|
64
|
-
* Note: The built-in keyboard shortcut is behind
|
|
64
|
+
* Note: The built-in keyboard shortcut is behind `useIsFhsEnabled`.
|
|
65
65
|
*/
|
|
66
66
|
isSideNavShortcutEnabled?: boolean;
|
|
67
67
|
}): JSX.Element;
|
|
@@ -72,7 +72,7 @@ type SideNavProps = CommonSlotProps & {
|
|
|
72
72
|
*
|
|
73
73
|
* The shortcut key is `Ctrl` + `[`.
|
|
74
74
|
*
|
|
75
|
-
* Note: The built-in keyboard shortcut is behind
|
|
75
|
+
* Note: The built-in keyboard shortcut is behind `useIsFhsEnabled`.
|
|
76
76
|
*/
|
|
77
77
|
canToggleWithShortcut?: () => boolean;
|
|
78
78
|
};
|