@atlaskit/navigation-system 10.11.0 → 10.12.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/constellation/top-nav-items/code.mdx +5 -2
- package/constellation/top-nav-items/examples.mdx +19 -0
- package/dist/cjs/ui/page-layout/side-nav/side-nav.compiled.css +7 -4
- package/dist/cjs/ui/page-layout/side-nav/side-nav.js +23 -28
- package/dist/cjs/ui/top-nav-items/themed/themed-anchor.compiled.css +2 -2
- package/dist/cjs/ui/top-nav-items/themed/themed-anchor.js +1 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-pressable.compiled.css +2 -2
- package/dist/cjs/ui/top-nav-items/themed/themed-pressable.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/side-nav.compiled.css +7 -4
- package/dist/es2019/ui/page-layout/side-nav/side-nav.js +23 -28
- package/dist/es2019/ui/top-nav-items/themed/themed-anchor.compiled.css +2 -2
- package/dist/es2019/ui/top-nav-items/themed/themed-anchor.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-pressable.compiled.css +2 -2
- package/dist/es2019/ui/top-nav-items/themed/themed-pressable.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/side-nav.compiled.css +7 -4
- package/dist/esm/ui/page-layout/side-nav/side-nav.js +23 -28
- package/dist/esm/ui/top-nav-items/themed/themed-anchor.compiled.css +2 -2
- package/dist/esm/ui/top-nav-items/themed/themed-anchor.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/themed-pressable.compiled.css +2 -2
- package/dist/esm/ui/top-nav-items/themed/themed-pressable.js +1 -1
- package/navigation-system.docs.tsx +1 -1
- package/package.json +14 -34
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @atlassian/navigation-system
|
|
2
2
|
|
|
3
|
+
## 10.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`5bca82622e866`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5bca82622e866) -
|
|
8
|
+
[ux] `@atlaskit/navigation-system`: the side nav expand, collapse and flyout animations now use
|
|
9
|
+
the new Side Nav motion tokens (CSS keyframe animations) instead of `transform` transitions with
|
|
10
|
+
`@starting-style`, behind the `platform-dst-motion-uplift-sidenav` feature gate. When the gate is
|
|
11
|
+
off, the animations are unchanged.
|
|
12
|
+
|
|
13
|
+
## 10.11.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [`a4d2562b27fc6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a4d2562b27fc6) -
|
|
18
|
+
Cleanup feature gate `platform_dst_nav4_side_nav_grid_area_fix`. The side nav's mobile `grid-area`
|
|
19
|
+
is now always scoped to `@media not (min-width: 64rem)`, the exact inverse of its desktop rule, so
|
|
20
|
+
the two can never both match at a given viewport and the side nav can no longer render in the
|
|
21
|
+
wrong grid area when Compiled's atomic rule ordering is non-deterministic (local development /
|
|
22
|
+
streaming SSR).
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
|
|
3
25
|
## 10.11.0
|
|
4
26
|
|
|
5
27
|
### Minor Changes
|
|
@@ -6,6 +6,7 @@ props:
|
|
|
6
6
|
packageName: '@atlaskit/navigation-system/top-nav-items'
|
|
7
7
|
exports:
|
|
8
8
|
- AppSwitcher
|
|
9
|
+
- AppLogo
|
|
9
10
|
- CustomLogo
|
|
10
11
|
- Notifications
|
|
11
12
|
- Profile
|
|
@@ -22,13 +23,15 @@ props:
|
|
|
22
23
|
|
|
23
24
|
### AppSwitcher
|
|
24
25
|
|
|
25
|
-
The trigger button for the app switcher.
|
|
26
|
+
The trigger button for the app switcher. Use the optional `icon` prop to replace the default app
|
|
27
|
+
switcher icon with a custom visual, such as a product logo.
|
|
26
28
|
|
|
27
29
|
<TSMorphProps exportName="AppSwitcher" packageName="@atlaskit/navigation-system/top-nav-items" />
|
|
28
30
|
|
|
29
31
|
### AppLogo
|
|
30
32
|
|
|
31
|
-
The app logo for the top navigation, when an app logo from `@atlaskit/logo` is used.
|
|
33
|
+
The app logo for the top navigation, when an app logo from `@atlaskit/logo` is used. Use the
|
|
34
|
+
optional `secondaryName` prop to display supporting context below the app name in wider viewports.
|
|
32
35
|
|
|
33
36
|
<TSMorphProps exportName="AppLogo" packageName="@atlaskit/navigation-system/top-nav-items" />
|
|
34
37
|
|
|
@@ -11,6 +11,8 @@ import { TopNavStartToggleExample } from '../../examples/constellation/top-nav-i
|
|
|
11
11
|
import { TopNavMiddleLayoutExample } from '../../examples/constellation/top-nav-items/top-nav-middle';
|
|
12
12
|
import { TopNavEndLayoutExample } from '../../examples/constellation/top-nav-items/top-nav-end';
|
|
13
13
|
import { AppLogoExample } from '../../examples/constellation/top-nav-items/app-logo';
|
|
14
|
+
import { AppLogoSecondaryNameExample } from '../../examples/constellation/top-nav-items/app-logo-secondary-name';
|
|
15
|
+
import { CustomAppSwitcherExample } from '../../examples/constellation/top-nav-items/custom-app-switcher';
|
|
14
16
|
import { CustomLogoExample } from '../../examples/constellation/top-nav-items/custom-logo';
|
|
15
17
|
import { CustomThemingLogoExample } from '../../examples/constellation/top-nav-items/custom-theming--logo';
|
|
16
18
|
import { CustomThemingSearchExample } from '../../examples/constellation/top-nav-items/custom-theming--search';
|
|
@@ -45,6 +47,15 @@ landing page:
|
|
|
45
47
|
|
|
46
48
|
<Example Component={TopNavStartLayoutExample} />
|
|
47
49
|
|
|
50
|
+
### App switcher
|
|
51
|
+
|
|
52
|
+
App switcher opens the app switcher menu. By default, it uses the Atlassian app switcher icon.
|
|
53
|
+
|
|
54
|
+
Use the optional `icon` prop to replace the default icon with a custom visual, such as a product
|
|
55
|
+
logo. Continue to provide a meaningful `label` so the custom visual has an accessible name.
|
|
56
|
+
|
|
57
|
+
<Example Component={CustomAppSwitcherExample} />
|
|
58
|
+
|
|
48
59
|
### Side nav toggle button
|
|
49
60
|
|
|
50
61
|
The side nav toggle button must be passed to `TopNavStart` through the `sideNavToggleButton` prop,
|
|
@@ -69,6 +80,14 @@ See the [responsive section](#responsive) for more information.
|
|
|
69
80
|
|
|
70
81
|
<Example Component={AppLogoExample} />
|
|
71
82
|
|
|
83
|
+
#### Secondary name
|
|
84
|
+
|
|
85
|
+
Use the optional `secondaryName` prop to add supporting context below the app name, such as the
|
|
86
|
+
current experience or workspace. The supporting context is displayed in wider viewports and is
|
|
87
|
+
hidden with the app name at `s` breakpoints and below (less than 1024px).
|
|
88
|
+
|
|
89
|
+
<Example Component={AppLogoSecondaryNameExample} />
|
|
90
|
+
|
|
72
91
|
### Custom logo
|
|
73
92
|
|
|
74
93
|
Custom logo provides a container for custom logo images with the following constraints:
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
2
1
|
._191wglyw{border-inline-start:none}
|
|
3
2
|
._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
4
3
|
._15yekb7n{--animation-direction:1}
|
|
@@ -7,22 +6,26 @@
|
|
|
7
6
|
._1bsb1ego{width:min(90%,20pc)}
|
|
8
7
|
._1e0c1txw{display:flex}
|
|
9
8
|
._1e0cglyw{display:none}
|
|
9
|
+
._1p2s58oa{--exit-animation:var(--ds-sidenav-exit-left,200ms cubic-bezier(0.6,0,0.8,0.6) SlideOut100PercentLeft)}
|
|
10
10
|
._1pbycs5v{z-index:2}
|
|
11
11
|
._1pbyegat{z-index:4}
|
|
12
12
|
._2lx21bp4{flex-direction:column}
|
|
13
13
|
._4t3i1osq{height:100%}
|
|
14
14
|
._4t3ieqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}
|
|
15
15
|
._bfhk1bhr{background-color:var(--ds-surface-overlay,#fff)}
|
|
16
|
+
._cjprp6j8{--enter-animation:var(--ds-sidenav-enter-left,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentLeft)}
|
|
16
17
|
._kqsw1if8{position:sticky}
|
|
17
18
|
._kqsw1n9t{position:fixed}
|
|
18
19
|
._t9ectl5p{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px))))}
|
|
19
20
|
._u7coidpf{inset-block-end:0}
|
|
20
21
|
._vchhusvi{box-sizing:border-box}
|
|
22
|
+
[dir=rtl] ._1jq41dy6{--enter-animation:var(--ds-sidenav-enter-right,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentRight)}
|
|
23
|
+
[dir=rtl] ._2qe0k8f8{--exit-animation:var(--ds-sidenav-exit-right,200ms cubic-bezier(0.6,0,0.8,0.6) SlideOut100PercentRight)}
|
|
21
24
|
[dir=rtl] ._65m41mrw{--animation-direction:-1}
|
|
22
|
-
@media (prefers-reduced-motion:no-preference){.
|
|
25
|
+
@media (prefers-reduced-motion:no-preference){._10t81t0s{transition-property:display}._1vrh1a5r{transition-behavior:allow-discrete}._xrrpi9qs{transition-duration:var(--ds-duration-medium,.2s)}._10t88iot{transition-property:transform,display}._xrrpfnf5{transition-duration:.2s}._1lh81gzg{grid-area:main}._1xq51mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._k1affm5y{animation:var(--exit-animation)}@starting-style{._1nu51p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._1xq51ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._k1af10ed{animation:var(--enter-animation)}}
|
|
23
26
|
@media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
|
|
24
27
|
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._p0az1elq{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px)) - var(--ds-border-width, 1px)))}._dm2518uv{display:initial}._dm25glyw{display:none}._qiln1gzg{grid-area:main}._p5clglyw{border-inline-end:none}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._qilnk0mc{grid-area:side-nav}._p5clia51{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#0b120e24)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
|
|
25
|
-
@media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}.
|
|
28
|
+
@media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._n2infm5y{animation:var(--exit-animation)}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}._1sg8k0mc{grid-area:side-nav}._n2in10ed{animation:var(--enter-animation)}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._vgub1ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._hjoifnf5{transition-duration:.2s}._hjoi1mzy{transition-duration:var(--ds-duration-long,.25s)}._hjoii9qs{transition-duration:var(--ds-duration-medium,.2s)}}
|
|
26
29
|
@media (prefers-reduced-motion:no-preference) and (not (min-width:64rem)){._aadi1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}
|
|
27
30
|
@media not (min-width:64rem){._89fi1b6c{grid-area:main/aside/aside/aside}}
|
|
28
|
-
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
31
|
+
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xci10ed{animation:var(--enter-animation)}._1tpv1mzy{transition-duration:var(--ds-duration-long,.25s)}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xcifm5y{animation:var(--exit-animation)}._1tpvi9qs{transition-duration:var(--ds-duration-medium,.2s)}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
@@ -71,7 +71,7 @@ var panelSplitterPortalTargetStyles = {
|
|
|
71
71
|
root: "_kqsw1n9t _1pbyegat _u7coidpf _t9ectl5p _4t3ieqxy _165t56xv _p0az1elq"
|
|
72
72
|
};
|
|
73
73
|
var styles = {
|
|
74
|
-
root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw",
|
|
74
|
+
root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw _89fi1b6c",
|
|
75
75
|
flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
|
|
76
76
|
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
|
|
77
77
|
animationRTLSupport: "_15yekb7n _65m41mrw",
|
|
@@ -90,34 +90,28 @@ var styles = {
|
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* Styles for the side nav enter/exit animations when `platform-dst-motion-uplift-sidenav` is enabled.
|
|
94
94
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
95
|
+
* These use the `motion.sidenav.*` tokens (keyframe animations) instead of the `transform` transitions
|
|
96
|
+
* with `@starting-style` used by `styles`.
|
|
97
97
|
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* extraction is disabled (https://github.com/atlassian-labs/compiled/issues/1306), so styles are
|
|
104
|
-
* injected as inline `<style>` tags in whatever order components happen to render. Under streaming SSR
|
|
105
|
-
* (Suspense), the desktop rule can be emitted earlier on the page by another component, leaving the
|
|
106
|
-
* unscoped mobile rule last — so it wins on desktop and the side nav renders in the wrong grid area.
|
|
107
|
-
*
|
|
108
|
-
* - `mobileLegacy` (gate OFF): the original unscoped mobile rule, which exhibits the bug above.
|
|
109
|
-
* - `mobile` (gate ON): the mobile rule scoped to `@media not (min-width: 64rem)`, the exact inverse
|
|
110
|
-
* of the desktop `@media (min-width: 64rem)` rule. The two can never both match at a given viewport,
|
|
111
|
-
* so insertion order no longer matters and the bug cannot occur.
|
|
112
|
-
*
|
|
113
|
-
* Cleaning up `fg('platform_dst_nav4_side_nav_grid_area_fix')` (gate fully rolled out):
|
|
114
|
-
* 1. Move `gridAreaStyles.mobile`'s `@media not (min-width: 64rem)` grid-area rule back into
|
|
115
|
-
* `styles.root`.
|
|
116
|
-
* 2. Delete this entire block (`gridAreaStyles`) and the `fg(...)` branch in the `css` prop below.
|
|
98
|
+
* ⚠️ The `transition-duration` values below need to stay in sync with the duration baked into the tokens
|
|
99
|
+
* (`motion.sidenav.enter.*` is 250ms, `motion.sidenav.exit.*` is 200ms). The `display` property is
|
|
100
|
+
* transitioned (with `allow-discrete`) so the element stays rendered for the length of the exit animation —
|
|
101
|
+
* if the transition is shorter than the animation, `display: none` applies early and the exit animation
|
|
102
|
+
* never runs.
|
|
117
103
|
*/
|
|
118
|
-
var
|
|
119
|
-
|
|
120
|
-
|
|
104
|
+
var motionUpliftStyles = {
|
|
105
|
+
animationRTLSupport: "_cjprp6j8 _1p2s58oa _1jq41dy6 _2qe0k8f8",
|
|
106
|
+
animationBaseStyles: "_10t81t0s _1vrh1a5r _xrrpi9qs",
|
|
107
|
+
expandAnimationMobile: "_k1af10ed",
|
|
108
|
+
collapseAnimationMobile: "_1lh81gzg _k1affm5y",
|
|
109
|
+
flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _4xci10ed _1tpv1mzy _sylc1a5r",
|
|
110
|
+
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _4xcifm5y _1tpvi9qs _sylc1a5r",
|
|
111
|
+
flyoutOpenFullHeightSidebar: "_n2in10ed _hjoi1mzy",
|
|
112
|
+
flyoutAnimateClosedFullHeightSidebar: "_dm25glyw _n2infm5y _hjoii9qs",
|
|
113
|
+
expandAnimationDesktop: "_1sg8k0mc _n2in10ed",
|
|
114
|
+
collapseAnimationDesktop: "_1sg81gzg _n2infm5y"
|
|
121
115
|
};
|
|
122
116
|
var fallbackDefaultWidth = 320;
|
|
123
117
|
var onPeekStartDelayMs = exports.onPeekStartDelayMs = 500;
|
|
@@ -759,9 +753,10 @@ function SideNavInternal(_ref) {
|
|
|
759
753
|
* Otherwise, the `@starting-style` rule will cause the sidebar to slide in initially.
|
|
760
754
|
*/
|
|
761
755
|
var hasExpandedStateChanged = isExpandedStateDifferentFromInitial || hasExpandedStateChangedRef.current;
|
|
756
|
+
var isMotionUpliftEnabled = (0, _platformFeatureFlags.fg)('platform-dst-motion-uplift-sidenav');
|
|
762
757
|
|
|
763
758
|
// This is only used for the regular expand and collapse animations, not the flyout animations.
|
|
764
|
-
var shouldShowSidebarToggleAnimation = isFhsEnabled &&
|
|
759
|
+
var shouldShowSidebarToggleAnimation = (isMotionUpliftEnabled || isFhsEnabled) &&
|
|
765
760
|
// We do not apply the animation styles on the initial render, as the `@starting-style` rule will cause the sidebar to
|
|
766
761
|
// slide in initially.
|
|
767
762
|
hasExpandedStateChanged &&
|
|
@@ -792,7 +787,7 @@ function SideNavInternal(_ref) {
|
|
|
792
787
|
style: (0, _defineProperty2.default)({}, _constants.sideNavVar, clampedWidth),
|
|
793
788
|
ref: mergedRef,
|
|
794
789
|
"data-testid": testId,
|
|
795
|
-
className: (0, _runtime.ax)([styles.root,
|
|
790
|
+
className: (0, _runtime.ax)([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isMotionUpliftEnabled && motionUpliftStyles.animationRTLSupport, !isMotionUpliftEnabled && isFhsEnabled && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.animationBaseStyles, shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationMobile, isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationDesktop, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosed, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosed, ((sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' || (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close') && !isFirefox && isFhsEnabled && styles.flyoutBaseStylesFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosedFullHeightSidebar])
|
|
796
791
|
}), /*#__PURE__*/_react.default.createElement(_dangerouslyHoistCssVarToDocumentRoot.DangerouslyHoistCssVarToDocumentRoot, {
|
|
797
792
|
variableName: _constants.sideNavLiveWidthVar,
|
|
798
793
|
value: "0px",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
9
9
|
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
10
10
|
._v5649dqc{transition:background .1s ease-out}
|
|
11
|
-
.
|
|
11
|
+
._v564k6bl{transition:var(--ds-button-hovered,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
12
12
|
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
13
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
14
|
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
56
|
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
57
|
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
-
.
|
|
58
|
+
._1ggl5xtf:active{transition:var(--ds-button-pressed,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
59
59
|
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
60
60
|
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
61
61
|
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
@@ -20,7 +20,7 @@ var _excluded = ["appearance", "shape", "isSelected", "isDisabled"];
|
|
|
20
20
|
var styles = {
|
|
21
21
|
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
22
22
|
rootT26Shape: "_2rko1qi0",
|
|
23
|
-
interactiveMotion: "
|
|
23
|
+
interactiveMotion: "_v564k6bl _1ggl5xtf",
|
|
24
24
|
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
25
25
|
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
26
26
|
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
9
9
|
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
10
10
|
._v5649dqc{transition:background .1s ease-out}
|
|
11
|
-
.
|
|
11
|
+
._v564k6bl{transition:var(--ds-button-hovered,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
12
12
|
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
13
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
14
|
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
56
|
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
57
|
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
-
.
|
|
58
|
+
._1ggl5xtf:active{transition:var(--ds-button-pressed,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
59
59
|
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
60
60
|
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
61
61
|
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
@@ -21,7 +21,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
21
21
|
var styles = {
|
|
22
22
|
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
23
23
|
rootT26Shape: "_2rko1qi0",
|
|
24
|
-
interactiveMotion: "
|
|
24
|
+
interactiveMotion: "_v564k6bl _1ggl5xtf",
|
|
25
25
|
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
26
26
|
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
27
27
|
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
2
1
|
._191wglyw{border-inline-start:none}
|
|
3
2
|
._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
4
3
|
._15yekb7n{--animation-direction:1}
|
|
@@ -7,22 +6,26 @@
|
|
|
7
6
|
._1bsb1ego{width:min(90%,20pc)}
|
|
8
7
|
._1e0c1txw{display:flex}
|
|
9
8
|
._1e0cglyw{display:none}
|
|
9
|
+
._1p2s58oa{--exit-animation:var(--ds-sidenav-exit-left,200ms cubic-bezier(0.6,0,0.8,0.6) SlideOut100PercentLeft)}
|
|
10
10
|
._1pbycs5v{z-index:2}
|
|
11
11
|
._1pbyegat{z-index:4}
|
|
12
12
|
._2lx21bp4{flex-direction:column}
|
|
13
13
|
._4t3i1osq{height:100%}
|
|
14
14
|
._4t3ieqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}
|
|
15
15
|
._bfhk1bhr{background-color:var(--ds-surface-overlay,#fff)}
|
|
16
|
+
._cjprp6j8{--enter-animation:var(--ds-sidenav-enter-left,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentLeft)}
|
|
16
17
|
._kqsw1if8{position:sticky}
|
|
17
18
|
._kqsw1n9t{position:fixed}
|
|
18
19
|
._t9ectl5p{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px))))}
|
|
19
20
|
._u7coidpf{inset-block-end:0}
|
|
20
21
|
._vchhusvi{box-sizing:border-box}
|
|
22
|
+
[dir=rtl] ._1jq41dy6{--enter-animation:var(--ds-sidenav-enter-right,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentRight)}
|
|
23
|
+
[dir=rtl] ._2qe0k8f8{--exit-animation:var(--ds-sidenav-exit-right,200ms cubic-bezier(0.6,0,0.8,0.6) SlideOut100PercentRight)}
|
|
21
24
|
[dir=rtl] ._65m41mrw{--animation-direction:-1}
|
|
22
|
-
@media (prefers-reduced-motion:no-preference){.
|
|
25
|
+
@media (prefers-reduced-motion:no-preference){._10t81t0s{transition-property:display}._1vrh1a5r{transition-behavior:allow-discrete}._xrrpi9qs{transition-duration:var(--ds-duration-medium,.2s)}._10t88iot{transition-property:transform,display}._xrrpfnf5{transition-duration:.2s}._1lh81gzg{grid-area:main}._1xq51mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._k1affm5y{animation:var(--exit-animation)}@starting-style{._1nu51p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._1xq51ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._k1af10ed{animation:var(--enter-animation)}}
|
|
23
26
|
@media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
|
|
24
27
|
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._p0az1elq{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px)) - var(--ds-border-width, 1px)))}._dm2518uv{display:initial}._dm25glyw{display:none}._qiln1gzg{grid-area:main}._p5clglyw{border-inline-end:none}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._qilnk0mc{grid-area:side-nav}._p5clia51{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#0b120e24)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
|
|
25
|
-
@media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}.
|
|
28
|
+
@media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._n2infm5y{animation:var(--exit-animation)}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}._1sg8k0mc{grid-area:side-nav}._n2in10ed{animation:var(--enter-animation)}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._vgub1ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._hjoifnf5{transition-duration:.2s}._hjoi1mzy{transition-duration:var(--ds-duration-long,.25s)}._hjoii9qs{transition-duration:var(--ds-duration-medium,.2s)}}
|
|
26
29
|
@media (prefers-reduced-motion:no-preference) and (not (min-width:64rem)){._aadi1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}
|
|
27
30
|
@media not (min-width:64rem){._89fi1b6c{grid-area:main/aside/aside/aside}}
|
|
28
|
-
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
31
|
+
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xci10ed{animation:var(--enter-animation)}._1tpv1mzy{transition-duration:var(--ds-duration-long,.25s)}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xcifm5y{animation:var(--exit-animation)}._1tpvi9qs{transition-duration:var(--ds-duration-medium,.2s)}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
@@ -58,7 +58,7 @@ const panelSplitterPortalTargetStyles = {
|
|
|
58
58
|
root: "_kqsw1n9t _1pbyegat _u7coidpf _t9ectl5p _4t3ieqxy _165t56xv _p0az1elq"
|
|
59
59
|
};
|
|
60
60
|
const styles = {
|
|
61
|
-
root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw",
|
|
61
|
+
root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw _89fi1b6c",
|
|
62
62
|
flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
|
|
63
63
|
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
|
|
64
64
|
animationRTLSupport: "_15yekb7n _65m41mrw",
|
|
@@ -77,34 +77,28 @@ const styles = {
|
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* Styles for the side nav enter/exit animations when `platform-dst-motion-uplift-sidenav` is enabled.
|
|
81
81
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
82
|
+
* These use the `motion.sidenav.*` tokens (keyframe animations) instead of the `transform` transitions
|
|
83
|
+
* with `@starting-style` used by `styles`.
|
|
84
84
|
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* extraction is disabled (https://github.com/atlassian-labs/compiled/issues/1306), so styles are
|
|
91
|
-
* injected as inline `<style>` tags in whatever order components happen to render. Under streaming SSR
|
|
92
|
-
* (Suspense), the desktop rule can be emitted earlier on the page by another component, leaving the
|
|
93
|
-
* unscoped mobile rule last — so it wins on desktop and the side nav renders in the wrong grid area.
|
|
94
|
-
*
|
|
95
|
-
* - `mobileLegacy` (gate OFF): the original unscoped mobile rule, which exhibits the bug above.
|
|
96
|
-
* - `mobile` (gate ON): the mobile rule scoped to `@media not (min-width: 64rem)`, the exact inverse
|
|
97
|
-
* of the desktop `@media (min-width: 64rem)` rule. The two can never both match at a given viewport,
|
|
98
|
-
* so insertion order no longer matters and the bug cannot occur.
|
|
99
|
-
*
|
|
100
|
-
* Cleaning up `fg('platform_dst_nav4_side_nav_grid_area_fix')` (gate fully rolled out):
|
|
101
|
-
* 1. Move `gridAreaStyles.mobile`'s `@media not (min-width: 64rem)` grid-area rule back into
|
|
102
|
-
* `styles.root`.
|
|
103
|
-
* 2. Delete this entire block (`gridAreaStyles`) and the `fg(...)` branch in the `css` prop below.
|
|
85
|
+
* ⚠️ The `transition-duration` values below need to stay in sync with the duration baked into the tokens
|
|
86
|
+
* (`motion.sidenav.enter.*` is 250ms, `motion.sidenav.exit.*` is 200ms). The `display` property is
|
|
87
|
+
* transitioned (with `allow-discrete`) so the element stays rendered for the length of the exit animation —
|
|
88
|
+
* if the transition is shorter than the animation, `display: none` applies early and the exit animation
|
|
89
|
+
* never runs.
|
|
104
90
|
*/
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
91
|
+
const motionUpliftStyles = {
|
|
92
|
+
animationRTLSupport: "_cjprp6j8 _1p2s58oa _1jq41dy6 _2qe0k8f8",
|
|
93
|
+
animationBaseStyles: "_10t81t0s _1vrh1a5r _xrrpi9qs",
|
|
94
|
+
expandAnimationMobile: "_k1af10ed",
|
|
95
|
+
collapseAnimationMobile: "_1lh81gzg _k1affm5y",
|
|
96
|
+
flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _4xci10ed _1tpv1mzy _sylc1a5r",
|
|
97
|
+
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _4xcifm5y _1tpvi9qs _sylc1a5r",
|
|
98
|
+
flyoutOpenFullHeightSidebar: "_n2in10ed _hjoi1mzy",
|
|
99
|
+
flyoutAnimateClosedFullHeightSidebar: "_dm25glyw _n2infm5y _hjoii9qs",
|
|
100
|
+
expandAnimationDesktop: "_1sg8k0mc _n2in10ed",
|
|
101
|
+
collapseAnimationDesktop: "_1sg81gzg _n2infm5y"
|
|
108
102
|
};
|
|
109
103
|
const fallbackDefaultWidth = 320;
|
|
110
104
|
export const onPeekStartDelayMs = 500;
|
|
@@ -747,9 +741,10 @@ function SideNavInternal({
|
|
|
747
741
|
* Otherwise, the `@starting-style` rule will cause the sidebar to slide in initially.
|
|
748
742
|
*/
|
|
749
743
|
const hasExpandedStateChanged = isExpandedStateDifferentFromInitial || hasExpandedStateChangedRef.current;
|
|
744
|
+
const isMotionUpliftEnabled = fg('platform-dst-motion-uplift-sidenav');
|
|
750
745
|
|
|
751
746
|
// This is only used for the regular expand and collapse animations, not the flyout animations.
|
|
752
|
-
const shouldShowSidebarToggleAnimation = isFhsEnabled &&
|
|
747
|
+
const shouldShowSidebarToggleAnimation = (isMotionUpliftEnabled || isFhsEnabled) &&
|
|
753
748
|
// We do not apply the animation styles on the initial render, as the `@starting-style` rule will cause the sidebar to
|
|
754
749
|
// slide in initially.
|
|
755
750
|
hasExpandedStateChanged &&
|
|
@@ -783,7 +778,7 @@ function SideNavInternal({
|
|
|
783
778
|
},
|
|
784
779
|
ref: mergedRef,
|
|
785
780
|
"data-testid": testId,
|
|
786
|
-
className: ax([styles.root,
|
|
781
|
+
className: ax([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isMotionUpliftEnabled && motionUpliftStyles.animationRTLSupport, !isMotionUpliftEnabled && isFhsEnabled && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.animationBaseStyles, shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationMobile, isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationDesktop, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosed, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosed, ((sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' || (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close') && !isFirefox && isFhsEnabled && styles.flyoutBaseStylesFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosedFullHeightSidebar])
|
|
787
782
|
}), /*#__PURE__*/React.createElement(DangerouslyHoistCssVarToDocumentRoot, {
|
|
788
783
|
variableName: sideNavLiveWidthVar,
|
|
789
784
|
value: "0px",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
9
9
|
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
10
10
|
._v5649dqc{transition:background .1s ease-out}
|
|
11
|
-
.
|
|
11
|
+
._v564k6bl{transition:var(--ds-button-hovered,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
12
12
|
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
13
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
14
|
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
56
|
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
57
|
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
-
.
|
|
58
|
+
._1ggl5xtf:active{transition:var(--ds-button-pressed,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
59
59
|
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
60
60
|
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
61
61
|
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
@@ -11,7 +11,7 @@ import { getPrimitiveSpreadProps } from './get-primitives-spread-props';
|
|
|
11
11
|
const styles = {
|
|
12
12
|
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
13
13
|
rootT26Shape: "_2rko1qi0",
|
|
14
|
-
interactiveMotion: "
|
|
14
|
+
interactiveMotion: "_v564k6bl _1ggl5xtf",
|
|
15
15
|
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
16
16
|
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
17
17
|
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
9
9
|
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
10
10
|
._v5649dqc{transition:background .1s ease-out}
|
|
11
|
-
.
|
|
11
|
+
._v564k6bl{transition:var(--ds-button-hovered,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
12
12
|
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
13
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
14
|
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
56
|
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
57
|
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
-
.
|
|
58
|
+
._1ggl5xtf:active{transition:var(--ds-button-pressed,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
59
59
|
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
60
60
|
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
61
61
|
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
@@ -10,7 +10,7 @@ import { getPrimitiveSpreadProps } from './get-primitives-spread-props';
|
|
|
10
10
|
const styles = {
|
|
11
11
|
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
12
12
|
rootT26Shape: "_2rko1qi0",
|
|
13
|
-
interactiveMotion: "
|
|
13
|
+
interactiveMotion: "_v564k6bl _1ggl5xtf",
|
|
14
14
|
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
15
15
|
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
16
16
|
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
2
1
|
._191wglyw{border-inline-start:none}
|
|
3
2
|
._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
4
3
|
._15yekb7n{--animation-direction:1}
|
|
@@ -7,22 +6,26 @@
|
|
|
7
6
|
._1bsb1ego{width:min(90%,20pc)}
|
|
8
7
|
._1e0c1txw{display:flex}
|
|
9
8
|
._1e0cglyw{display:none}
|
|
9
|
+
._1p2s58oa{--exit-animation:var(--ds-sidenav-exit-left,200ms cubic-bezier(0.6,0,0.8,0.6) SlideOut100PercentLeft)}
|
|
10
10
|
._1pbycs5v{z-index:2}
|
|
11
11
|
._1pbyegat{z-index:4}
|
|
12
12
|
._2lx21bp4{flex-direction:column}
|
|
13
13
|
._4t3i1osq{height:100%}
|
|
14
14
|
._4t3ieqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}
|
|
15
15
|
._bfhk1bhr{background-color:var(--ds-surface-overlay,#fff)}
|
|
16
|
+
._cjprp6j8{--enter-animation:var(--ds-sidenav-enter-left,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentLeft)}
|
|
16
17
|
._kqsw1if8{position:sticky}
|
|
17
18
|
._kqsw1n9t{position:fixed}
|
|
18
19
|
._t9ectl5p{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px))))}
|
|
19
20
|
._u7coidpf{inset-block-end:0}
|
|
20
21
|
._vchhusvi{box-sizing:border-box}
|
|
22
|
+
[dir=rtl] ._1jq41dy6{--enter-animation:var(--ds-sidenav-enter-right,250ms cubic-bezier(0,0.4,0,1) SlideIn100PercentRight)}
|
|
23
|
+
[dir=rtl] ._2qe0k8f8{--exit-animation:var(--ds-sidenav-exit-right,200ms cubic-bezier(0.6,0,0.8,0.6) SlideOut100PercentRight)}
|
|
21
24
|
[dir=rtl] ._65m41mrw{--animation-direction:-1}
|
|
22
|
-
@media (prefers-reduced-motion:no-preference){.
|
|
25
|
+
@media (prefers-reduced-motion:no-preference){._10t81t0s{transition-property:display}._1vrh1a5r{transition-behavior:allow-discrete}._xrrpi9qs{transition-duration:var(--ds-duration-medium,.2s)}._10t88iot{transition-property:transform,display}._xrrpfnf5{transition-duration:.2s}._1lh81gzg{grid-area:main}._1xq51mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._k1affm5y{animation:var(--exit-animation)}@starting-style{._1nu51p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._1xq51ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._k1af10ed{animation:var(--enter-animation)}}
|
|
23
26
|
@media (min-width:48rem){._14b5hc79{width:var(--n_snvRsz,var(--n_sNvw))}}
|
|
24
27
|
@media (min-width:64rem){._165t56xv{height:calc(100vh - var(--n_bnrM, 0px))}._p0az1elq{transform:translateX(calc(var(--n_snvRsz, var(--n_snvW, 0px)) - var(--ds-border-width, 1px)))}._dm2518uv{display:initial}._dm25glyw{display:none}._qiln1gzg{grid-area:main}._p5clglyw{border-inline-end:none}._4ap31bhr{background-color:var(--ds-surface-overlay,#fff)}._scbp130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}._qilnk0mc{grid-area:side-nav}._p5clia51{border-inline-end:var(--ds-border-width,1px) solid var(--ds-border,#0b120e24)}._4ap3vuon{background-color:var(--ds-surface,#fff)}._scbpglyw{box-shadow:none}}
|
|
25
|
-
@media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}.
|
|
28
|
+
@media (prefers-reduced-motion:no-preference) and (min-width:64rem){._17ly8iot{transition-property:transform,display}._177m1a5r{transition-behavior:allow-discrete}._1sg81gzg{grid-area:main}._n2infm5y{animation:var(--exit-animation)}._vgub1mm8{transition-timing-function:cubic-bezier(0,.4,0,1)}._hh1u1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}._1sg8k0mc{grid-area:side-nav}._n2in10ed{animation:var(--enter-animation)}@starting-style{._s2eg1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}._vgub1ku9{transition-timing-function:cubic-bezier(.6,0,0,1)}._hjoifnf5{transition-duration:.2s}._hjoi1mzy{transition-duration:var(--ds-duration-long,.25s)}._hjoii9qs{transition-duration:var(--ds-duration-medium,.2s)}}
|
|
26
29
|
@media (prefers-reduced-motion:no-preference) and (not (min-width:64rem)){._aadi1p9u{transform:translateX(calc(-100%*var(--animation-direction)))}}
|
|
27
30
|
@media not (min-width:64rem){._89fi1b6c{grid-area:main/aside/aside/aside}}
|
|
28
|
-
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
31
|
+
@supports not (-moz-appearance:none){@media (prefers-reduced-motion:no-preference){._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}._1uwsjq3t{transform:translateX(-100%)}}@media (prefers-reduced-motion:no-preference){@starting-style{._oyeijq3t{transform:translateX(-100%)}}._139f8iot{transition-property:transform,display}._1tpvfnf5{transition-duration:.2s}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xci10ed{animation:var(--enter-animation)}._1tpv1mzy{transition-duration:var(--ds-duration-long,.25s)}._sylc1a5r{transition-behavior:allow-discrete}}@media (prefers-reduced-motion:no-preference){._4xcifm5y{animation:var(--exit-animation)}._1tpvi9qs{transition-duration:var(--ds-duration-medium,.2s)}._sylc1a5r{transition-behavior:allow-discrete}}}
|
|
@@ -62,7 +62,7 @@ var panelSplitterPortalTargetStyles = {
|
|
|
62
62
|
root: "_kqsw1n9t _1pbyegat _u7coidpf _t9ectl5p _4t3ieqxy _165t56xv _p0az1elq"
|
|
63
63
|
};
|
|
64
64
|
var styles = {
|
|
65
|
-
root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw",
|
|
65
|
+
root: "_191wglyw _t51zglyw _bfhk1bhr _16qs130s _vchhusvi _4t3ieqxy _152timx3 _kqsw1if8 _1bsb1ego _1pbycs5v _14b5hc79 _qilnk0mc _p5clia51 _4ap3vuon _scbpglyw _89fi1b6c",
|
|
66
66
|
flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _139f8iot _1tpvfnf5 _sylc1a5r _oyeijq3t",
|
|
67
67
|
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _139f8iot _1tpvfnf5 _sylc1a5r _1uwsjq3t",
|
|
68
68
|
animationRTLSupport: "_15yekb7n _65m41mrw",
|
|
@@ -81,34 +81,28 @@ var styles = {
|
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* Styles for the side nav enter/exit animations when `platform-dst-motion-uplift-sidenav` is enabled.
|
|
85
85
|
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
86
|
+
* These use the `motion.sidenav.*` tokens (keyframe animations) instead of the `transform` transitions
|
|
87
|
+
* with `@starting-style` used by `styles`.
|
|
88
88
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* extraction is disabled (https://github.com/atlassian-labs/compiled/issues/1306), so styles are
|
|
95
|
-
* injected as inline `<style>` tags in whatever order components happen to render. Under streaming SSR
|
|
96
|
-
* (Suspense), the desktop rule can be emitted earlier on the page by another component, leaving the
|
|
97
|
-
* unscoped mobile rule last — so it wins on desktop and the side nav renders in the wrong grid area.
|
|
98
|
-
*
|
|
99
|
-
* - `mobileLegacy` (gate OFF): the original unscoped mobile rule, which exhibits the bug above.
|
|
100
|
-
* - `mobile` (gate ON): the mobile rule scoped to `@media not (min-width: 64rem)`, the exact inverse
|
|
101
|
-
* of the desktop `@media (min-width: 64rem)` rule. The two can never both match at a given viewport,
|
|
102
|
-
* so insertion order no longer matters and the bug cannot occur.
|
|
103
|
-
*
|
|
104
|
-
* Cleaning up `fg('platform_dst_nav4_side_nav_grid_area_fix')` (gate fully rolled out):
|
|
105
|
-
* 1. Move `gridAreaStyles.mobile`'s `@media not (min-width: 64rem)` grid-area rule back into
|
|
106
|
-
* `styles.root`.
|
|
107
|
-
* 2. Delete this entire block (`gridAreaStyles`) and the `fg(...)` branch in the `css` prop below.
|
|
89
|
+
* ⚠️ The `transition-duration` values below need to stay in sync with the duration baked into the tokens
|
|
90
|
+
* (`motion.sidenav.enter.*` is 250ms, `motion.sidenav.exit.*` is 200ms). The `display` property is
|
|
91
|
+
* transitioned (with `allow-discrete`) so the element stays rendered for the length of the exit animation —
|
|
92
|
+
* if the transition is shorter than the animation, `display: none` applies early and the exit animation
|
|
93
|
+
* never runs.
|
|
108
94
|
*/
|
|
109
|
-
var
|
|
110
|
-
|
|
111
|
-
|
|
95
|
+
var motionUpliftStyles = {
|
|
96
|
+
animationRTLSupport: "_cjprp6j8 _1p2s58oa _1jq41dy6 _2qe0k8f8",
|
|
97
|
+
animationBaseStyles: "_10t81t0s _1vrh1a5r _xrrpi9qs",
|
|
98
|
+
expandAnimationMobile: "_k1af10ed",
|
|
99
|
+
collapseAnimationMobile: "_1lh81gzg _k1affm5y",
|
|
100
|
+
flyoutOpen: "_qiln1gzg _p5clglyw _4ap31bhr _scbp130s _4xci10ed _1tpv1mzy _sylc1a5r",
|
|
101
|
+
flyoutAnimateClosed: "_1e0cglyw _qiln1gzg _4xcifm5y _1tpvi9qs _sylc1a5r",
|
|
102
|
+
flyoutOpenFullHeightSidebar: "_n2in10ed _hjoi1mzy",
|
|
103
|
+
flyoutAnimateClosedFullHeightSidebar: "_dm25glyw _n2infm5y _hjoii9qs",
|
|
104
|
+
expandAnimationDesktop: "_1sg8k0mc _n2in10ed",
|
|
105
|
+
collapseAnimationDesktop: "_1sg81gzg _n2infm5y"
|
|
112
106
|
};
|
|
113
107
|
var fallbackDefaultWidth = 320;
|
|
114
108
|
export var onPeekStartDelayMs = 500;
|
|
@@ -750,9 +744,10 @@ function SideNavInternal(_ref) {
|
|
|
750
744
|
* Otherwise, the `@starting-style` rule will cause the sidebar to slide in initially.
|
|
751
745
|
*/
|
|
752
746
|
var hasExpandedStateChanged = isExpandedStateDifferentFromInitial || hasExpandedStateChangedRef.current;
|
|
747
|
+
var isMotionUpliftEnabled = fg('platform-dst-motion-uplift-sidenav');
|
|
753
748
|
|
|
754
749
|
// This is only used for the regular expand and collapse animations, not the flyout animations.
|
|
755
|
-
var shouldShowSidebarToggleAnimation = isFhsEnabled &&
|
|
750
|
+
var shouldShowSidebarToggleAnimation = (isMotionUpliftEnabled || isFhsEnabled) &&
|
|
756
751
|
// We do not apply the animation styles on the initial render, as the `@starting-style` rule will cause the sidebar to
|
|
757
752
|
// slide in initially.
|
|
758
753
|
hasExpandedStateChanged &&
|
|
@@ -783,7 +778,7 @@ function SideNavInternal(_ref) {
|
|
|
783
778
|
style: _defineProperty({}, sideNavVar, clampedWidth),
|
|
784
779
|
ref: mergedRef,
|
|
785
780
|
"data-testid": testId,
|
|
786
|
-
className: ax([styles.root,
|
|
781
|
+
className: ax([styles.root, isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileOnly, !isExpandedOnDesktop && isExpandedOnMobile && !isFlyoutVisible && styles.hiddenDesktopOnly, !isExpandedOnDesktop && !isExpandedOnMobile && !isFlyoutVisible && styles.hiddenMobileAndDesktop, isMotionUpliftEnabled && motionUpliftStyles.animationRTLSupport, !isMotionUpliftEnabled && isFhsEnabled && styles.animationRTLSupport, shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.animationBaseStyles, shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.animationBaseStyles, isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationMobile, isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationMobile, !isExpandedOnMobile && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationMobile, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.expandAnimationDesktop, isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.expandAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && isMotionUpliftEnabled && motionUpliftStyles.collapseAnimationDesktop, !isExpandedOnDesktop && shouldShowSidebarToggleAnimation && !isMotionUpliftEnabled && styles.collapseAnimationDesktop, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpen, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosed, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosed, ((sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' || (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close') && !isFirefox && isFhsEnabled && styles.flyoutBaseStylesFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'open' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutOpenFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && isMotionUpliftEnabled && motionUpliftStyles.flyoutAnimateClosedFullHeightSidebar, (sideNavState === null || sideNavState === void 0 ? void 0 : sideNavState.flyout) === 'triggered-animate-close' && !isFirefox && isFhsEnabled && !isMotionUpliftEnabled && styles.flyoutAnimateClosedFullHeightSidebar])
|
|
787
782
|
}), /*#__PURE__*/React.createElement(DangerouslyHoistCssVarToDocumentRoot, {
|
|
788
783
|
variableName: sideNavLiveWidthVar,
|
|
789
784
|
value: "0px",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
9
9
|
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
10
10
|
._v5649dqc{transition:background .1s ease-out}
|
|
11
|
-
.
|
|
11
|
+
._v564k6bl{transition:var(--ds-button-hovered,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
12
12
|
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
13
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
14
|
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
56
|
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
57
|
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
-
.
|
|
58
|
+
._1ggl5xtf:active{transition:var(--ds-button-pressed,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
59
59
|
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
60
60
|
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
61
61
|
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
@@ -13,7 +13,7 @@ import { getPrimitiveSpreadProps } from './get-primitives-spread-props';
|
|
|
13
13
|
var styles = {
|
|
14
14
|
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
15
15
|
rootT26Shape: "_2rko1qi0",
|
|
16
|
-
interactiveMotion: "
|
|
16
|
+
interactiveMotion: "_v564k6bl _1ggl5xtf",
|
|
17
17
|
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
18
18
|
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
19
19
|
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
._2rkofajl{border-radius:var(--ds-radius-small,3px)}
|
|
9
9
|
._9v7aze3t:after{inset:var(--ds-space-0,0)}
|
|
10
10
|
._v5649dqc{transition:background .1s ease-out}
|
|
11
|
-
.
|
|
11
|
+
._v564k6bl{transition:var(--ds-button-hovered,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
12
12
|
._zulp12x7{gap:var(--ds-space-075,6px)}
|
|
13
13
|
._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
|
|
14
14
|
._18zrze3t{padding-inline:var(--ds-space-0,0)}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
._30l3w5ct:hover{color:var(--ds-top-bar-button-selected-text)}
|
|
56
56
|
._9oik1r31:hover{text-decoration-color:currentColor}
|
|
57
57
|
._jf4cnqa1:hover{text-decoration-style:solid}
|
|
58
|
-
.
|
|
58
|
+
._1ggl5xtf:active{transition:var(--ds-button-pressed,background-color border-color .15s cubic-bezier(.4,1,.6,1))}
|
|
59
59
|
._j6xt1c9b:active{background:var(--ds-top-bar-button-disabled-background)}
|
|
60
60
|
._j6xt5sko:active{background:var(--ds-top-bar-button-primary-background-pressed)}
|
|
61
61
|
._j6xtnh62:active{background:var(--ds-top-bar-button-selected-background-pressed)}
|
|
@@ -12,7 +12,7 @@ import { getPrimitiveSpreadProps } from './get-primitives-spread-props';
|
|
|
12
12
|
var styles = {
|
|
13
13
|
root: "_zulp12x7 _11c8fhey _2rkofajl _v5649dqc _4bfu1r31 _1hmsglyw _ajmmnqa1 _1rjcze3t _1e0c1txw _4cvr1h6o _1bah1h6o _4t3i5r7u _kqswh2mm _1nrm1r31 _1a3b1r31 _9oik1r31 _c2waglyw _4fprglyw _1bnxglyw _1iohnqa1 _5goinqa1 _jf4cnqa1",
|
|
14
14
|
rootT26Shape: "_2rko1qi0",
|
|
15
|
-
interactiveMotion: "
|
|
15
|
+
interactiveMotion: "_v564k6bl _1ggl5xtf",
|
|
16
16
|
border: "_14mj1kw7 _9v7aze3t _1tv3nqa1 _39yqe4h9 _aetrb3bt _18postnw",
|
|
17
17
|
selected: "_11q71qds _syazw5ct _8l3m15jn _f8pjw5ct _1053w5ct _19lcjrv1 _30l3w5ct _j6xtnh62 _9h8hw5ct",
|
|
18
18
|
disabled: "_11q71c9b _syaz1i3i _8l3m1j28 _f8pj1i3i _10531i3i _19lc1c9b _30l31i3i _j6xt1c9b _9h8h1i3i"
|
|
@@ -39,7 +39,7 @@ const documentation: StructuredContentSource = {
|
|
|
39
39
|
{
|
|
40
40
|
name: 'Top navigation',
|
|
41
41
|
description: 'Basic usage of the top navigation bar.',
|
|
42
|
-
source: path.resolve(packagePath, './examples/top-navigation.tsx'),
|
|
42
|
+
source: path.resolve(packagePath, './examples/top-navigation.vr.ap.tsx'),
|
|
43
43
|
},
|
|
44
44
|
],
|
|
45
45
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/navigation-system",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.12.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",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@atlaskit/analytics-next": "^12.3.0",
|
|
57
|
-
"@atlaskit/app-provider": "^5.
|
|
58
|
-
"@atlaskit/avatar": "^
|
|
57
|
+
"@atlaskit/app-provider": "^5.3.0",
|
|
58
|
+
"@atlaskit/avatar": "^27.0.0",
|
|
59
59
|
"@atlaskit/button": "^25.0.0",
|
|
60
60
|
"@atlaskit/css": "^1.0.0",
|
|
61
61
|
"@atlaskit/ds-lib": "^8.0.0",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@atlaskit/primitives": "^22.2.0",
|
|
71
71
|
"@atlaskit/react-compiler-gating": "^0.2.0",
|
|
72
72
|
"@atlaskit/side-nav-items": "^2.3.0",
|
|
73
|
-
"@atlaskit/tokens": "^16.
|
|
73
|
+
"@atlaskit/tokens": "^16.6.0",
|
|
74
74
|
"@atlaskit/tooltip": "^24.0.0",
|
|
75
75
|
"@atlaskit/visually-hidden": "^4.2.0",
|
|
76
76
|
"@babel/runtime": "^7.0.0",
|
|
@@ -90,28 +90,28 @@
|
|
|
90
90
|
"@atlaskit/badge": "^21.0.0",
|
|
91
91
|
"@atlaskit/banner": "^15.1.0",
|
|
92
92
|
"@atlaskit/breadcrumbs": "^17.5.0",
|
|
93
|
-
"@atlaskit/dropdown-menu": "^
|
|
93
|
+
"@atlaskit/dropdown-menu": "^18.0.0",
|
|
94
94
|
"@atlaskit/flag": "^18.2.0",
|
|
95
|
-
"@atlaskit/form": "^
|
|
95
|
+
"@atlaskit/form": "^17.0.0",
|
|
96
96
|
"@atlaskit/heading": "^7.0.0",
|
|
97
|
-
"@atlaskit/inline-dialog": "^
|
|
97
|
+
"@atlaskit/inline-dialog": "^20.0.0",
|
|
98
98
|
"@atlaskit/link": "^5.0.0",
|
|
99
99
|
"@atlaskit/lozenge": "^15.0.0",
|
|
100
|
-
"@atlaskit/menu": "^
|
|
101
|
-
"@atlaskit/modal-dialog": "^16.
|
|
100
|
+
"@atlaskit/menu": "^10.0.0",
|
|
101
|
+
"@atlaskit/modal-dialog": "^16.3.0",
|
|
102
102
|
"@atlaskit/onboarding": "^15.1.0",
|
|
103
103
|
"@atlaskit/page-header": "^13.1.0",
|
|
104
104
|
"@atlaskit/page-layout": "^5.2.0",
|
|
105
|
-
"@atlaskit/popper": "^9.
|
|
105
|
+
"@atlaskit/popper": "^9.1.0",
|
|
106
106
|
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^3.0.0",
|
|
107
107
|
"@atlaskit/select": "^22.6.0",
|
|
108
108
|
"@atlaskit/skeleton": "^4.2.0",
|
|
109
|
-
"@atlaskit/spotlight": "^
|
|
109
|
+
"@atlaskit/spotlight": "^4.0.0",
|
|
110
110
|
"@atlaskit/textfield": "^10.0.0",
|
|
111
|
-
"@atlaskit/top-layer": "^3.
|
|
111
|
+
"@atlaskit/top-layer": "^3.2.0",
|
|
112
112
|
"@atlassian/feature-flags-test-utils": "^1.2.0",
|
|
113
113
|
"@atlassian/gemini": "^1.51.0",
|
|
114
|
-
"@atlassian/search-dialog": "^10.
|
|
114
|
+
"@atlassian/search-dialog": "^10.9.0",
|
|
115
115
|
"@atlassian/ssr-tests": "workspace:^",
|
|
116
116
|
"@atlassian/test-utils": "^1.1.0",
|
|
117
117
|
"@atlassian/testing-library": "^0.11.0",
|
|
@@ -122,26 +122,6 @@
|
|
|
122
122
|
"react": "^18.2.0",
|
|
123
123
|
"react-dom": "^18.2.0"
|
|
124
124
|
},
|
|
125
|
-
"techstack": {
|
|
126
|
-
"@atlassian/frontend": {
|
|
127
|
-
"import-structure": "atlassian-conventions"
|
|
128
|
-
},
|
|
129
|
-
"@repo/internal": {
|
|
130
|
-
"dom-events": "use-bind-event-listener",
|
|
131
|
-
"design-tokens": [
|
|
132
|
-
"color",
|
|
133
|
-
"spacing",
|
|
134
|
-
"motion"
|
|
135
|
-
],
|
|
136
|
-
"deprecation": "no-deprecated-imports",
|
|
137
|
-
"imports": [
|
|
138
|
-
"import-no-extraneous-disable-for-examples-and-docs"
|
|
139
|
-
],
|
|
140
|
-
"styling": [
|
|
141
|
-
"emotion"
|
|
142
|
-
]
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
125
|
"platform-feature-flags": {
|
|
146
126
|
"platform-dst-top-layer": {
|
|
147
127
|
"type": "boolean",
|
|
@@ -166,7 +146,7 @@
|
|
|
166
146
|
"platform_dst_nav4_skip_link_a11y_1": {
|
|
167
147
|
"type": "boolean"
|
|
168
148
|
},
|
|
169
|
-
"
|
|
149
|
+
"platform-dst-motion-uplift-sidenav": {
|
|
170
150
|
"type": "boolean"
|
|
171
151
|
},
|
|
172
152
|
"platform-dst-motion-uplift-button": {
|