@atlaskit/navigation-system 10.5.7 → 10.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -0
- package/dist/cjs/components/badge-container.js +1 -1
- package/dist/cjs/components/list-item.js +1 -1
- package/dist/cjs/components/list.js +1 -1
- package/dist/cjs/components/skip-links/skip-link.compiled.css +0 -1
- package/dist/cjs/components/skip-links/skip-link.js +1 -1
- package/dist/cjs/components/skip-links/skip-links-container.compiled.css +0 -1
- package/dist/cjs/components/skip-links/skip-links-container.js +1 -1
- package/dist/cjs/components/skip-links/skip-links-popup.js +1 -1
- package/dist/cjs/ui/page-layout/aside.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/aside.js +1 -1
- package/dist/cjs/ui/page-layout/banner.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/banner.js +1 -1
- package/dist/cjs/ui/page-layout/main/main-sticky-header.js +1 -1
- package/dist/cjs/ui/page-layout/main/main.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/main/main.js +1 -1
- package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +2 -2
- package/dist/cjs/ui/page-layout/panel.compiled.css +4 -1
- package/dist/cjs/ui/page-layout/panel.js +48 -6
- package/dist/cjs/ui/page-layout/ribbon.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/ribbon.js +1 -1
- package/dist/cjs/ui/page-layout/root.js +1 -1
- package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +1 -1
- package/dist/cjs/ui/page-layout/side-nav/side-nav-footer.js +1 -1
- package/dist/cjs/ui/page-layout/side-nav/side-nav-header.js +1 -1
- package/dist/cjs/ui/page-layout/side-nav/side-nav.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/side-nav/side-nav.js +1 -1
- package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +1 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +1 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +1 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-start.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +1 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav.compiled.css +0 -1
- package/dist/cjs/ui/page-layout/top-nav/top-nav.js +1 -1
- package/dist/cjs/ui/top-nav-items/app-switcher.js +7 -2
- package/dist/cjs/ui/top-nav-items/custom-title.js +1 -1
- package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -1
- package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +1 -1
- package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -1
- package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
- package/dist/cjs/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
- package/dist/cjs/ui/top-nav-items/search.compiled.css +0 -1
- package/dist/cjs/ui/top-nav-items/search.js +1 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-anchor.compiled.css +0 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-anchor.js +1 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-button.js +1 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-icon-button.js +2 -2
- package/dist/cjs/ui/top-nav-items/themed/themed-link-button.js +1 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-link-icon-button.js +1 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-pressable.compiled.css +0 -1
- package/dist/cjs/ui/top-nav-items/themed/themed-pressable.js +1 -1
- package/dist/es2019/components/badge-container.js +1 -1
- package/dist/es2019/components/list-item.js +1 -1
- package/dist/es2019/components/list.js +1 -1
- package/dist/es2019/components/skip-links/skip-link.compiled.css +0 -1
- package/dist/es2019/components/skip-links/skip-link.js +1 -1
- package/dist/es2019/components/skip-links/skip-links-container.compiled.css +0 -1
- package/dist/es2019/components/skip-links/skip-links-container.js +1 -1
- package/dist/es2019/components/skip-links/skip-links-popup.js +1 -1
- package/dist/es2019/ui/page-layout/aside.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/aside.js +1 -1
- package/dist/es2019/ui/page-layout/banner.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/banner.js +1 -1
- package/dist/es2019/ui/page-layout/main/main-sticky-header.js +1 -1
- package/dist/es2019/ui/page-layout/main/main.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/main/main.js +1 -1
- package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +2 -2
- package/dist/es2019/ui/page-layout/panel.compiled.css +4 -1
- package/dist/es2019/ui/page-layout/panel.js +48 -7
- package/dist/es2019/ui/page-layout/ribbon.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/ribbon.js +1 -1
- package/dist/es2019/ui/page-layout/root.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/side-nav-footer.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/side-nav-header.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/side-nav.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/side-nav/side-nav.js +1 -1
- package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +1 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +1 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +1 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-start.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +1 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav.compiled.css +0 -1
- package/dist/es2019/ui/page-layout/top-nav/top-nav.js +1 -1
- package/dist/es2019/ui/top-nav-items/app-switcher.js +22 -15
- package/dist/es2019/ui/top-nav-items/custom-title.js +1 -1
- package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -1
- package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +1 -1
- package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -1
- package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
- package/dist/es2019/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
- package/dist/es2019/ui/top-nav-items/search.compiled.css +0 -1
- package/dist/es2019/ui/top-nav-items/search.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-anchor.compiled.css +0 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-anchor.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-button.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-icon-button.js +2 -2
- package/dist/es2019/ui/top-nav-items/themed/themed-link-button.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-link-icon-button.js +1 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-pressable.compiled.css +0 -1
- package/dist/es2019/ui/top-nav-items/themed/themed-pressable.js +1 -1
- package/dist/esm/components/badge-container.js +1 -1
- package/dist/esm/components/list-item.js +1 -1
- package/dist/esm/components/list.js +1 -1
- package/dist/esm/components/skip-links/skip-link.compiled.css +0 -1
- package/dist/esm/components/skip-links/skip-link.js +1 -1
- package/dist/esm/components/skip-links/skip-links-container.compiled.css +0 -1
- package/dist/esm/components/skip-links/skip-links-container.js +1 -1
- package/dist/esm/components/skip-links/skip-links-popup.js +1 -1
- package/dist/esm/ui/page-layout/aside.compiled.css +0 -1
- package/dist/esm/ui/page-layout/aside.js +1 -1
- package/dist/esm/ui/page-layout/banner.compiled.css +0 -1
- package/dist/esm/ui/page-layout/banner.js +1 -1
- package/dist/esm/ui/page-layout/main/main-sticky-header.js +1 -1
- package/dist/esm/ui/page-layout/main/main.compiled.css +0 -1
- package/dist/esm/ui/page-layout/main/main.js +1 -1
- package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +2 -2
- package/dist/esm/ui/page-layout/panel.compiled.css +4 -1
- package/dist/esm/ui/page-layout/panel.js +49 -7
- package/dist/esm/ui/page-layout/ribbon.compiled.css +0 -1
- package/dist/esm/ui/page-layout/ribbon.js +1 -1
- package/dist/esm/ui/page-layout/root.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/side-nav-footer.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/side-nav-header.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/side-nav.compiled.css +0 -1
- package/dist/esm/ui/page-layout/side-nav/side-nav.js +1 -1
- package/dist/esm/ui/page-layout/side-nav/toggle-button.js +1 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +1 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-middle.compiled.css +0 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +1 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-start.compiled.css +0 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +1 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav.compiled.css +0 -1
- package/dist/esm/ui/page-layout/top-nav/top-nav.js +1 -1
- package/dist/esm/ui/top-nav-items/app-switcher.js +7 -2
- package/dist/esm/ui/top-nav-items/custom-title.js +1 -1
- package/dist/esm/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -1
- package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +1 -1
- package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -1
- package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
- package/dist/esm/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
- package/dist/esm/ui/top-nav-items/search.compiled.css +0 -1
- package/dist/esm/ui/top-nav-items/search.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/themed-anchor.compiled.css +0 -1
- package/dist/esm/ui/top-nav-items/themed/themed-anchor.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/themed-button.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/themed-icon-button.js +2 -2
- package/dist/esm/ui/top-nav-items/themed/themed-link-button.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/themed-link-icon-button.js +1 -1
- package/dist/esm/ui/top-nav-items/themed/themed-pressable.compiled.css +0 -1
- package/dist/esm/ui/top-nav-items/themed/themed-pressable.js +1 -1
- package/dist/types/ui/top-nav-items/app-switcher.d.ts +10 -0
- package/package.json +17 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# @atlassian/navigation-system
|
|
2
2
|
|
|
3
|
+
## 10.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`90aa712679ee0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/90aa712679ee0) -
|
|
8
|
+
`AppSwitcher` now accepts a custom `icon` component via the `icon` prop, allowing image-backed
|
|
9
|
+
visuals (such as a product logo) to be rendered in place of the default Atlassian app switcher
|
|
10
|
+
icon. The `icon` prop is optional and defaults to the standard app switcher icon, so existing
|
|
11
|
+
usage is unaffected.
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { AppSwitcher } from '@atlaskit/navigation-system/top-nav-items';
|
|
15
|
+
import { UnitTile } from '@atlassian/unit-tile';
|
|
16
|
+
|
|
17
|
+
const CustomAppSwitcherIcon = () => (
|
|
18
|
+
<UnitTile unitName="Confluence" size="small" iconUrl={dstLogo} />
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
<AppSwitcher
|
|
22
|
+
icon={CustomAppSwitcherIcon}
|
|
23
|
+
label="App switcher"
|
|
24
|
+
onClick={() => {
|
|
25
|
+
/* open app switcher */
|
|
26
|
+
}}
|
|
27
|
+
/>;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies
|
|
33
|
+
|
|
34
|
+
## 10.6.0
|
|
35
|
+
|
|
36
|
+
### Minor Changes
|
|
37
|
+
|
|
38
|
+
- [`95ff9f0742fb9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/95ff9f0742fb9) -
|
|
39
|
+
[ux] Added motion to `Panel` entry and exit behind the `platform-dst-motion-uplift-panel` feature
|
|
40
|
+
gate.
|
|
41
|
+
|
|
42
|
+
When the gate is enabled, `Panel` animates on entry automatically. To get the exit animation,
|
|
43
|
+
consumers must render the conditionally-mounted `Panel` inside an `ExitingPersistence` boundary so
|
|
44
|
+
the panel stays mounted until its exit motion finishes:
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
import ExitingPersistence from '@atlaskit/motion/exiting-persistence';
|
|
48
|
+
import { Panel } from '@atlaskit/navigation-system/layout/panel';
|
|
49
|
+
|
|
50
|
+
function Example({ isPanelOpen }: { isPanelOpen: boolean }) {
|
|
51
|
+
return (
|
|
52
|
+
<ExitingPersistence>
|
|
53
|
+
{isPanelOpen && <Panel defaultWidth={320}>{/* panel content */}</Panel>}
|
|
54
|
+
</ExitingPersistence>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Without the `ExitingPersistence` wrapper the panel is removed immediately on close and the exit
|
|
60
|
+
animation is skipped. Entry animation works with or without the wrapper.
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies
|
|
65
|
+
|
|
3
66
|
## 10.5.7
|
|
4
67
|
|
|
5
68
|
### Patch Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* panel-splitter.tsx generated by @compiled/babel-plugin v0.
|
|
1
|
+
/* panel-splitter.tsx generated by @compiled/babel-plugin v0.40.0 */
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -28,7 +28,7 @@ var _disableNativeDragPreview = require("@atlaskit/pragmatic-drag-and-drop/eleme
|
|
|
28
28
|
var _preventUnhandled = require("@atlaskit/pragmatic-drag-and-drop/prevent-unhandled");
|
|
29
29
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
30
30
|
var _TooltipContainer = _interopRequireDefault(require("@atlaskit/tooltip/TooltipContainer"));
|
|
31
|
-
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
|
|
31
|
+
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden/visually-hidden"));
|
|
32
32
|
var _useIsFhsEnabled = require("../../fhs-rollout/use-is-fhs-enabled");
|
|
33
33
|
var _constants = require("../constants");
|
|
34
34
|
var _convertResizeBoundToPixels = require("./convert-resize-bound-to-pixels");
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
1
|
._nd5l1b6c{grid-area:main/aside/aside/aside}
|
|
2
|
+
._y44v1s3l{animation:var(--ds-panel-enter,.25s cubic-bezier(0,.4,0,1) SlideIn100PercentRight)}
|
|
3
|
+
._y44vqhwn{animation:var(--ds-panel-exit,.2s cubic-bezier(.6,0,.8,.6) SlideOut100PercentRight)}
|
|
3
4
|
._191wglyw{border-inline-start:none}._10fph9n0{justify-self:end}
|
|
4
5
|
._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
|
|
5
6
|
._16qs130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}
|
|
6
7
|
._18m91wug{overflow-y:auto}
|
|
7
8
|
._1bsb1dxx{width:min(90%,var(--minWidth))}
|
|
8
9
|
._1e0cglyw{display:none}
|
|
10
|
+
._1o51eoah{animation-fill-mode:backwards}
|
|
11
|
+
._1o51q7pw{animation-fill-mode:forwards}
|
|
9
12
|
._1pbykb7n{z-index:1}
|
|
10
13
|
._1reo1wug{overflow-x:auto}
|
|
11
14
|
._4t3i1osq{height:100%}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* panel.tsx generated by @compiled/babel-plugin v0.
|
|
1
|
+
/* panel.tsx generated by @compiled/babel-plugin v0.40.0 */
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -13,6 +13,9 @@ var React = _react;
|
|
|
13
13
|
var _runtime = require("@compiled/react/runtime");
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
|
+
var _react2 = require("@compiled/react");
|
|
17
|
+
var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
|
|
18
|
+
var _useMotion2 = require("@atlaskit/motion/use-motion");
|
|
16
19
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
20
|
var _responsive = require("@atlaskit/primitives/responsive");
|
|
18
21
|
var _useSkipLinkInternal = require("../../context/skip-links/use-skip-link-internal");
|
|
@@ -40,7 +43,9 @@ var styles = {
|
|
|
40
43
|
root: "_nd5l1b6c _10fph9n0 _vchhusvi _1pbykb7n _4t3ieqxy _kqsw1if8 _152timx3 _bfhk1bhr _1bsb1dxx _14b54rrg _4ap3vuon _1dhy1c6w _9sns1wug",
|
|
41
44
|
border: "_191wglyw _16qs130s _1w6eia51 _scbpglyw",
|
|
42
45
|
scrollContainer: "_1reo1wug _18m91wug _4t3i1osq",
|
|
43
|
-
hidden: "_1e0cglyw"
|
|
46
|
+
hidden: "_1e0cglyw",
|
|
47
|
+
entering: "_y44v1s3l _1o51eoah",
|
|
48
|
+
exiting: "_y44vqhwn _1o51q7pw"
|
|
44
49
|
};
|
|
45
50
|
|
|
46
51
|
/**
|
|
@@ -67,6 +72,20 @@ function Panel(_ref) {
|
|
|
67
72
|
var id = (0, _useLayoutId.useLayoutId)({
|
|
68
73
|
providedId: providedId
|
|
69
74
|
});
|
|
75
|
+
|
|
76
|
+
// useMotion is applied only when the `platform-dst-motion-uplift-panel` gate is enabled.
|
|
77
|
+
var _useMotion = (0, _useMotion2.useMotion)({
|
|
78
|
+
onFinish: function onFinish(state) {
|
|
79
|
+
if (state === 'exiting' && defaultWidthRef.current === 0) {
|
|
80
|
+
// Set width to 0 as animation is complete
|
|
81
|
+
setWidth(0);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}),
|
|
85
|
+
state = _useMotion.state,
|
|
86
|
+
motionRef = _useMotion.ref,
|
|
87
|
+
reanimate = _useMotion.reanimate;
|
|
88
|
+
var isMotionUpliftEnabled = (0, _platformFeatureFlags.fg)('platform-dst-motion-uplift-panel');
|
|
70
89
|
var defaultWidth = (0, _useSafeDefaultWidth.useSafeDefaultWidth)({
|
|
71
90
|
defaultWidthProp: defaultWidthProp,
|
|
72
91
|
fallbackDefaultWidth: fallbackDefaultWidth,
|
|
@@ -93,6 +112,15 @@ function Panel(_ref) {
|
|
|
93
112
|
// Used to track the previous value of the `defaultWidth` prop, for logging dev warnings when it changes.
|
|
94
113
|
var defaultWidthRef = (0, _react.useRef)(defaultWidth);
|
|
95
114
|
|
|
115
|
+
// `mergeRefs` returns a new callback ref on every call, and combined with a new array literal
|
|
116
|
+
// this would cause React to detach/re-attach the ref on every render. Memoise it so the merged
|
|
117
|
+
// ref is stable across renders.
|
|
118
|
+
var mergedRef = (0, _react.useMemo)(function () {
|
|
119
|
+
return isMotionUpliftEnabled ? (0, _mergeRefs.default)([ref, motionRef]) : ref;
|
|
120
|
+
},
|
|
121
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
122
|
+
[isMotionUpliftEnabled, motionRef]);
|
|
123
|
+
|
|
96
124
|
/**
|
|
97
125
|
* TODO: Remove this useEffect once the `width: 0` usage is removed from Jira.
|
|
98
126
|
* It updates the width state based on changes to `defaultWidth`, as a temporary stopgap to support Jira's current usage.
|
|
@@ -102,13 +130,23 @@ function Panel(_ref) {
|
|
|
102
130
|
if (defaultWidthRef.current === defaultWidth) {
|
|
103
131
|
return;
|
|
104
132
|
}
|
|
133
|
+
if (isMotionUpliftEnabled) {
|
|
134
|
+
if (defaultWidth === 0) {
|
|
135
|
+
reanimate(_useMotion2.Reanimate.exit);
|
|
136
|
+
defaultWidthRef.current = defaultWidth;
|
|
137
|
+
// Set width to 0 once the exit animation is complete
|
|
138
|
+
return;
|
|
139
|
+
} else if (defaultWidthRef.current === 0) {
|
|
140
|
+
reanimate(_useMotion2.Reanimate.enter);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
105
143
|
defaultWidthRef.current = defaultWidth;
|
|
106
144
|
setWidth(defaultWidth);
|
|
107
145
|
if (process.env.NODE_ENV !== 'production') {
|
|
108
146
|
// eslint-disable-next-line no-console
|
|
109
147
|
console.warn('Page Layout warning\n\n', 'The value of the `defaultWidth` prop on the `Panel` layout slot component has changed. This should not be changed after the component has been mounted.\n\n', 'In the future, changes to the `defaultWidth` prop will not be respected. It is only supported as a stopgap to enable migration from Nav3 to Nav4.\n\n');
|
|
110
148
|
}
|
|
111
|
-
}, [defaultWidth]);
|
|
149
|
+
}, [defaultWidth, isMotionUpliftEnabled, reanimate]);
|
|
112
150
|
var sideNavRef = (0, _useSideNavRef.useSideNavRef)();
|
|
113
151
|
|
|
114
152
|
/**
|
|
@@ -152,11 +190,15 @@ function Panel(_ref) {
|
|
|
152
190
|
return /*#__PURE__*/React.createElement("section", {
|
|
153
191
|
id: id,
|
|
154
192
|
"data-layout-slot": true,
|
|
155
|
-
"aria-label": label
|
|
156
|
-
|
|
193
|
+
"aria-label": label
|
|
194
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
195
|
+
,
|
|
196
|
+
className: (0, _runtime.ax)([styles.root, !isMotionUpliftEnabled && defaultWidth === 0 && styles.hidden, hasBorder && styles.border, isMotionUpliftEnabled ?
|
|
197
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/local-cx-xcss, @compiled/local-cx-xcss
|
|
198
|
+
(0, _react2.cx)(xcss, state === 'entering' && styles.entering, state === 'exiting' && styles.exiting) : xcss]),
|
|
157
199
|
style: (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.panelVar, panelVariableWidth), '--minWidth', "".concat(minWidth, "px")),
|
|
158
200
|
"data-testid": testId,
|
|
159
|
-
ref:
|
|
201
|
+
ref: mergedRef
|
|
160
202
|
}, dangerouslyHoistSlotSizes &&
|
|
161
203
|
/*#__PURE__*/
|
|
162
204
|
// ------ START UNSAFE STYLES ------
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.AppSwitcher = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _appSwitcher = _interopRequireDefault(require("@atlaskit/icon/core/app-switcher"));
|
|
11
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
12
|
var _iconButton = require("./themed/icon-button");
|
|
12
13
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
14
|
var toggleButtonTooltipOptions = {
|
|
@@ -23,19 +24,22 @@ var toggleButtonTooltipOptions = {
|
|
|
23
24
|
*/
|
|
24
25
|
var AppSwitcher = exports.AppSwitcher = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
25
26
|
var label = _ref.label,
|
|
27
|
+
icon = _ref.icon,
|
|
26
28
|
onClick = _ref.onClick,
|
|
27
29
|
onMouseEnter = _ref.onMouseEnter,
|
|
28
30
|
interactionName = _ref.interactionName,
|
|
29
31
|
isSelected = _ref.isSelected,
|
|
32
|
+
testId = _ref.testId,
|
|
30
33
|
ariaControls = _ref['aria-controls'],
|
|
31
34
|
ariaExpanded = _ref['aria-expanded'],
|
|
32
35
|
ariaHasPopup = _ref['aria-haspopup'];
|
|
36
|
+
var pickedAppSwitcherIcon = (0, _platformFeatureFlags.fg)('platform_dst_ads_appswitcher_improvements') ? icon !== null && icon !== void 0 ? icon : _appSwitcher.default : _appSwitcher.default;
|
|
33
37
|
return /*#__PURE__*/_react.default.createElement(_iconButton.IconButton, {
|
|
34
38
|
ref: ref,
|
|
35
39
|
"aria-controls": ariaControls,
|
|
36
40
|
"aria-expanded": ariaExpanded,
|
|
37
41
|
"aria-haspopup": ariaHasPopup,
|
|
38
|
-
icon:
|
|
42
|
+
icon: pickedAppSwitcherIcon,
|
|
39
43
|
label: label,
|
|
40
44
|
appearance: "subtle",
|
|
41
45
|
onClick: onClick,
|
|
@@ -43,6 +47,7 @@ var AppSwitcher = exports.AppSwitcher = /*#__PURE__*/(0, _react.forwardRef)(func
|
|
|
43
47
|
interactionName: interactionName,
|
|
44
48
|
isTooltipDisabled: false,
|
|
45
49
|
tooltip: toggleButtonTooltipOptions,
|
|
46
|
-
isSelected: isSelected
|
|
50
|
+
isSelected: isSelected,
|
|
51
|
+
testId: testId
|
|
47
52
|
});
|
|
48
53
|
});
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
._11c8fhey{font:var(--ds-font-body,normal 400 14px/20px "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
2
|
._11q71c9b{background:var(--ds-top-bar-button-disabled-background)}
|
|
4
3
|
._11q71qds{background:var(--ds-top-bar-button-selected-background)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* themed-icon-button.tsx generated by @compiled/babel-plugin v0.
|
|
1
|
+
/* themed-icon-button.tsx generated by @compiled/babel-plugin v0.40.0 */
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -13,7 +13,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
|
|
15
15
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
16
|
-
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
|
|
16
|
+
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden/visually-hidden"));
|
|
17
17
|
var _iconRenderer = _interopRequireDefault(require("../icon-renderer"));
|
|
18
18
|
var _themedPressable = require("./themed-pressable");
|
|
19
19
|
var _excluded = ["icon", "label", "tooltip"];
|
|
@@ -11,7 +11,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
var _forwardRefWithGeneric = _interopRequireDefault(require("@atlaskit/ds-lib/forward-ref-with-generic"));
|
|
12
12
|
var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
|
|
13
13
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
14
|
-
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
|
|
14
|
+
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden/visually-hidden"));
|
|
15
15
|
var _themedAnchor = require("./themed-anchor");
|
|
16
16
|
var _excluded = ["icon", "label", "tooltip"];
|
|
17
17
|
/**
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
._11c8fhey{font:var(--ds-font-body,normal 400 14px/20px "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
2
|
._11q71c9b{background:var(--ds-top-bar-button-disabled-background)}
|
|
4
3
|
._11q71qds{background:var(--ds-top-bar-button-selected-background)}
|