@atlaskit/navigation-system 10.16.11 → 10.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/components/badge-container.js +1 -1
  3. package/dist/cjs/components/list-item.js +1 -1
  4. package/dist/cjs/components/list.js +1 -1
  5. package/dist/cjs/components/skip-links/skip-link.js +1 -1
  6. package/dist/cjs/components/skip-links/skip-links-container.js +1 -1
  7. package/dist/cjs/components/skip-links/skip-links-popup.js +1 -1
  8. package/dist/cjs/ui/page-layout/aside.js +1 -1
  9. package/dist/cjs/ui/page-layout/banner.js +1 -1
  10. package/dist/cjs/ui/page-layout/main/main-sticky-header.js +1 -1
  11. package/dist/cjs/ui/page-layout/main/main.js +1 -1
  12. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +1 -1
  13. package/dist/cjs/ui/page-layout/panel.compiled.css +1 -1
  14. package/dist/cjs/ui/page-layout/panel.js +40 -23
  15. package/dist/cjs/ui/page-layout/ribbon.js +1 -1
  16. package/dist/cjs/ui/page-layout/root.js +1 -1
  17. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +1 -1
  18. package/dist/cjs/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  19. package/dist/cjs/ui/page-layout/side-nav/side-nav-header.js +1 -1
  20. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +1 -1
  21. package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +1 -1
  22. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +1 -1
  23. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  24. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +1 -1
  25. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +1 -1
  26. package/dist/cjs/ui/top-nav-items/custom-title.js +1 -1
  27. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +1 -1
  28. package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  29. package/dist/cjs/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  30. package/dist/cjs/ui/top-nav-items/search.js +1 -1
  31. package/dist/cjs/ui/top-nav-items/themed/themed-anchor.js +1 -1
  32. package/dist/cjs/ui/top-nav-items/themed/themed-button.js +1 -1
  33. package/dist/cjs/ui/top-nav-items/themed/themed-icon-button.js +1 -1
  34. package/dist/cjs/ui/top-nav-items/themed/themed-link-button.js +1 -1
  35. package/dist/cjs/ui/top-nav-items/themed/themed-pressable.js +1 -1
  36. package/dist/es2019/components/badge-container.js +1 -1
  37. package/dist/es2019/components/list-item.js +1 -1
  38. package/dist/es2019/components/list.js +1 -1
  39. package/dist/es2019/components/skip-links/skip-link.js +1 -1
  40. package/dist/es2019/components/skip-links/skip-links-container.js +1 -1
  41. package/dist/es2019/components/skip-links/skip-links-popup.js +1 -1
  42. package/dist/es2019/ui/page-layout/aside.js +1 -1
  43. package/dist/es2019/ui/page-layout/banner.js +1 -1
  44. package/dist/es2019/ui/page-layout/main/main-sticky-header.js +1 -1
  45. package/dist/es2019/ui/page-layout/main/main.js +1 -1
  46. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +1 -1
  47. package/dist/es2019/ui/page-layout/panel.compiled.css +1 -1
  48. package/dist/es2019/ui/page-layout/panel.js +24 -5
  49. package/dist/es2019/ui/page-layout/ribbon.js +1 -1
  50. package/dist/es2019/ui/page-layout/root.js +1 -1
  51. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +1 -1
  52. package/dist/es2019/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  53. package/dist/es2019/ui/page-layout/side-nav/side-nav-header.js +1 -1
  54. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +1 -1
  55. package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +1 -1
  56. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +1 -1
  57. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  58. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +1 -1
  59. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +1 -1
  60. package/dist/es2019/ui/top-nav-items/custom-title.js +1 -1
  61. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +1 -1
  62. package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  63. package/dist/es2019/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  64. package/dist/es2019/ui/top-nav-items/search.js +1 -1
  65. package/dist/es2019/ui/top-nav-items/themed/themed-anchor.js +1 -1
  66. package/dist/es2019/ui/top-nav-items/themed/themed-button.js +1 -1
  67. package/dist/es2019/ui/top-nav-items/themed/themed-icon-button.js +1 -1
  68. package/dist/es2019/ui/top-nav-items/themed/themed-link-button.js +1 -1
  69. package/dist/es2019/ui/top-nav-items/themed/themed-pressable.js +1 -1
  70. package/dist/esm/components/badge-container.js +1 -1
  71. package/dist/esm/components/list-item.js +1 -1
  72. package/dist/esm/components/list.js +1 -1
  73. package/dist/esm/components/skip-links/skip-link.js +1 -1
  74. package/dist/esm/components/skip-links/skip-links-container.js +1 -1
  75. package/dist/esm/components/skip-links/skip-links-popup.js +1 -1
  76. package/dist/esm/ui/page-layout/aside.js +1 -1
  77. package/dist/esm/ui/page-layout/banner.js +1 -1
  78. package/dist/esm/ui/page-layout/main/main-sticky-header.js +1 -1
  79. package/dist/esm/ui/page-layout/main/main.js +1 -1
  80. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +1 -1
  81. package/dist/esm/ui/page-layout/panel.compiled.css +1 -1
  82. package/dist/esm/ui/page-layout/panel.js +39 -22
  83. package/dist/esm/ui/page-layout/ribbon.js +1 -1
  84. package/dist/esm/ui/page-layout/root.js +1 -1
  85. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +1 -1
  86. package/dist/esm/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  87. package/dist/esm/ui/page-layout/side-nav/side-nav-header.js +1 -1
  88. package/dist/esm/ui/page-layout/side-nav/side-nav.js +1 -1
  89. package/dist/esm/ui/page-layout/side-nav/toggle-button.js +1 -1
  90. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +1 -1
  91. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  92. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +1 -1
  93. package/dist/esm/ui/page-layout/top-nav/top-nav.js +1 -1
  94. package/dist/esm/ui/top-nav-items/custom-title.js +1 -1
  95. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +1 -1
  96. package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  97. package/dist/esm/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  98. package/dist/esm/ui/top-nav-items/search.js +1 -1
  99. package/dist/esm/ui/top-nav-items/themed/themed-anchor.js +1 -1
  100. package/dist/esm/ui/top-nav-items/themed/themed-button.js +1 -1
  101. package/dist/esm/ui/top-nav-items/themed/themed-icon-button.js +1 -1
  102. package/dist/esm/ui/top-nav-items/themed/themed-link-button.js +1 -1
  103. package/dist/esm/ui/top-nav-items/themed/themed-pressable.js +1 -1
  104. package/dist/types/ui/page-layout/panel.d.ts +12 -1
  105. package/package.json +7 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlassian/navigation-system
2
2
 
3
+ ## 10.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`c7333edc6dfa2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c7333edc6dfa2) -
8
+ Add content change motion to Panel behind the `platform-dst-motion-uplift-panel` feature flag.
9
+ Consumers can provide a contentKey to exit the previous content before entering the next while
10
+ preserving the panel shell.
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
3
16
  ## 10.16.11
4
17
 
5
18
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- /* badge-container.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* badge-container.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* list-item.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* list-item.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* list.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* list.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* skip-link.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* skip-link.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* skip-links-container.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* skip-links-container.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* skip-links-popup.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* skip-links-popup.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* aside.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* aside.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* banner.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* banner.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* main-sticky-header.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* main-sticky-header.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* main.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* main.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* panel-splitter.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* panel-splitter.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,5 +1,5 @@
1
1
  ._nd5l1b6c{grid-area:main/aside/aside/aside}
2
- ._y44v11az{animation:var(--ds-panel-content-enter,.15s cubic-bezier(.4,1,.6,1) FadeIn0to100 .1s)}
2
+ ._y44v1mph{animation:var(--ds-panel-content-enter,.15s cubic-bezier(.4,1,.6,1) FadeIn0to100)}
3
3
  ._y44vf1qi{animation:var(--ds-panel-content-exit,50ms cubic-bezier(.6,0,.8,.6) FadeOut100to0)}
4
4
  ._191wglyw{border-inline-start:none}._10fph9n0{justify-self:end}
5
5
  ._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
@@ -1,4 +1,4 @@
1
- /* panel.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* panel.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -14,7 +14,8 @@ 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
16
  var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
17
- var _useMotion2 = require("@atlaskit/motion/entering/use-motion");
17
+ var _exitingPersistence = _interopRequireDefault(require("@atlaskit/motion/exiting-persistence"));
18
+ var _useMotion3 = require("@atlaskit/motion/entering/use-motion");
18
19
  var _reanimate = require("@atlaskit/motion/reanimate");
19
20
  var _fg = require("@atlaskit/platform-feature-flags/fg");
20
21
  var _responsive = require("@atlaskit/primitives/responsive");
@@ -46,8 +47,19 @@ var styles = {
46
47
  hidden: "_1e0cglyw",
47
48
  entering: "_k1af1nn1 _10t81ia4 _xrrp147i _1wsa1ign _1vrh1a5r _1kmh1n9t _105abamb",
48
49
  exiting: "_k1af14vv _bq641n9t _105aeydr",
49
- contentEntering: "_y44v11az",
50
- contentExiting: "_y44vf1qi"
50
+ contentEntering: "_y44v1mph",
51
+ contentExiting: "_y44vf1qi",
52
+ contentChangeContainer: "_4t3i1osq"
53
+ };
54
+ var PanelContentMotion = function PanelContentMotion(_ref) {
55
+ var children = _ref.children;
56
+ var _useMotion = (0, _useMotion3.useMotion)(),
57
+ state = _useMotion.state,
58
+ ref = _useMotion.ref;
59
+ return /*#__PURE__*/React.createElement("div", {
60
+ ref: ref,
61
+ className: (0, _runtime.ax)([styles.contentChangeContainer, state === 'entering' && styles.contentEntering, state === 'exiting' && styles.contentExiting])
62
+ }, children);
51
63
  };
52
64
 
53
65
  /**
@@ -57,20 +69,21 @@ var styles = {
57
69
  *
58
70
  * You can optionally render a `PanelSplitter` as a child to make the panel area resizable.
59
71
  */
60
- function Panel(_ref) {
61
- var children = _ref.children,
62
- _ref$defaultWidth = _ref.defaultWidth,
63
- defaultWidthProp = _ref$defaultWidth === void 0 ? fallbackDefaultWidth : _ref$defaultWidth,
64
- _ref$label = _ref.label,
65
- label = _ref$label === void 0 ? 'Panel' : _ref$label,
66
- _ref$skipLinkLabel = _ref.skipLinkLabel,
67
- skipLinkLabel = _ref$skipLinkLabel === void 0 ? label : _ref$skipLinkLabel,
68
- testId = _ref.testId,
69
- providedId = _ref.id,
70
- xcss = _ref.xcss,
71
- _ref$hasBorder = _ref.hasBorder,
72
- hasBorder = _ref$hasBorder === void 0 ? true : _ref$hasBorder,
73
- maxWidth = _ref.maxWidth;
72
+ function Panel(_ref2) {
73
+ var children = _ref2.children,
74
+ _ref2$defaultWidth = _ref2.defaultWidth,
75
+ defaultWidthProp = _ref2$defaultWidth === void 0 ? fallbackDefaultWidth : _ref2$defaultWidth,
76
+ _ref2$label = _ref2.label,
77
+ label = _ref2$label === void 0 ? 'Panel' : _ref2$label,
78
+ _ref2$skipLinkLabel = _ref2.skipLinkLabel,
79
+ skipLinkLabel = _ref2$skipLinkLabel === void 0 ? label : _ref2$skipLinkLabel,
80
+ testId = _ref2.testId,
81
+ providedId = _ref2.id,
82
+ xcss = _ref2.xcss,
83
+ _ref2$hasBorder = _ref2.hasBorder,
84
+ hasBorder = _ref2$hasBorder === void 0 ? true : _ref2$hasBorder,
85
+ maxWidth = _ref2.maxWidth,
86
+ contentKey = _ref2.contentKey;
74
87
  var dangerouslyHoistSlotSizes = (0, _react.useContext)(_hoistSlotSizesContext.DangerouslyHoistSlotSizes);
75
88
  var id = (0, _useLayoutId.useLayoutId)({
76
89
  providedId: providedId
@@ -83,7 +96,7 @@ function Panel(_ref) {
83
96
  });
84
97
 
85
98
  // useMotion is applied only when the `platform-dst-motion-uplift-panel` gate is enabled.
86
- var _useMotion = (0, _useMotion2.useMotion)({
99
+ var _useMotion2 = (0, _useMotion3.useMotion)({
87
100
  onFinish: function onFinish(state) {
88
101
  if (state === 'exiting' && defaultWidthRef.current === 0) {
89
102
  // Set width to 0 as animation is complete
@@ -92,9 +105,9 @@ function Panel(_ref) {
92
105
  },
93
106
  initialState: defaultWidth === 0 ? 'hidden' : undefined
94
107
  }),
95
- state = _useMotion.state,
96
- motionRef = _useMotion.ref,
97
- reanimate = _useMotion.reanimate;
108
+ state = _useMotion2.state,
109
+ motionRef = _useMotion2.ref,
110
+ reanimate = _useMotion2.reanimate;
98
111
 
99
112
  /**
100
113
  * Don't show the skip link if the slot has 0 width.
@@ -226,5 +239,9 @@ function Panel(_ref) {
226
239
  position: "start"
227
240
  }, /*#__PURE__*/React.createElement("div", {
228
241
  className: (0, _runtime.ax)([styles.scrollContainer, isMotionUpliftEnabled && state === 'entering' && styles.contentEntering, isMotionUpliftEnabled && state === 'exiting' && styles.contentExiting])
229
- }, children)));
242
+ }, isMotionUpliftEnabled && contentKey !== undefined ? /*#__PURE__*/React.createElement(_exitingPersistence.default, {
243
+ exitThenEnter: true
244
+ }, /*#__PURE__*/React.createElement(PanelContentMotion, {
245
+ key: contentKey
246
+ }, children)) : children)));
230
247
  }
@@ -1,4 +1,4 @@
1
- /* ribbon.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* ribbon.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* root.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* root.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav-content.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav-content.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* side-nav-footer.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav-footer.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav-header.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav-header.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* side-nav.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* toggle-button.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* toggle-button.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* top-nav-end.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav-end.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* top-nav-middle.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav-middle.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* top-nav-start.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav-start.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* top-nav.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* custom-title.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* custom-title.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* app-logo.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* app-logo.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* custom-logo.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* custom-logo.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* logo-renderer.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* logo-renderer.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,4 @@
1
- /* search.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* search.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* themed-anchor.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* themed-anchor.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* themed-button.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* themed-button.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* themed-icon-button.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* themed-icon-button.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* themed-link-button.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* themed-link-button.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* themed-pressable.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* themed-pressable.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,4 @@
1
- /* badge-container.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* badge-container.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./badge-container.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* list-item.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* list-item.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import * as React from 'react';
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import { forwardRef } from 'react';
@@ -1,4 +1,4 @@
1
- /* list.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* list.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import * as React from 'react';
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import { forwardRef } from 'react';
@@ -1,4 +1,4 @@
1
- /* skip-link.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* skip-link.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./skip-link.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { useCallback } from 'react';
@@ -1,4 +1,4 @@
1
- /* skip-links-container.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* skip-links-container.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./skip-links-container.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* skip-links-popup.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* skip-links-popup.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./skip-links-popup.compiled.css";
4
4
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- /* aside.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* aside.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./aside.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* banner.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* banner.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./banner.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* main-sticky-header.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* main-sticky-header.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./main-sticky-header.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React from 'react';
@@ -1,4 +1,4 @@
1
- /* main.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* main.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./main.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* panel-splitter.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* panel-splitter.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./panel-splitter.compiled.css";
4
4
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  ._nd5l1b6c{grid-area:main/aside/aside/aside}
2
- ._y44v11az{animation:var(--ds-panel-content-enter,.15s cubic-bezier(.4,1,.6,1) FadeIn0to100 .1s)}
2
+ ._y44v1mph{animation:var(--ds-panel-content-enter,.15s cubic-bezier(.4,1,.6,1) FadeIn0to100)}
3
3
  ._y44vf1qi{animation:var(--ds-panel-content-exit,50ms cubic-bezier(.6,0,.8,.6) FadeOut100to0)}
4
4
  ._191wglyw{border-inline-start:none}._10fph9n0{justify-self:end}
5
5
  ._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
@@ -1,9 +1,10 @@
1
- /* panel.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* panel.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./panel.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
6
6
  import mergeRefs from '@atlaskit/ds-lib/merge-refs';
7
+ import ExitingPersistence from '@atlaskit/motion/exiting-persistence';
7
8
  import { useMotion } from '@atlaskit/motion/entering/use-motion';
8
9
  import { Reanimate } from '@atlaskit/motion/reanimate';
9
10
  import { fg } from '@atlaskit/platform-feature-flags/fg';
@@ -35,8 +36,21 @@ const styles = {
35
36
  hidden: "_1e0cglyw",
36
37
  entering: "_k1af1nn1 _10t81ia4 _xrrp147i _1wsa1ign _1vrh1a5r _1kmh1n9t _105abamb",
37
38
  exiting: "_k1af14vv _bq641n9t _105aeydr",
38
- contentEntering: "_y44v11az",
39
- contentExiting: "_y44vf1qi"
39
+ contentEntering: "_y44v1mph",
40
+ contentExiting: "_y44vf1qi",
41
+ contentChangeContainer: "_4t3i1osq"
42
+ };
43
+ const PanelContentMotion = ({
44
+ children
45
+ }) => {
46
+ const {
47
+ state,
48
+ ref
49
+ } = useMotion();
50
+ return /*#__PURE__*/React.createElement("div", {
51
+ ref: ref,
52
+ className: ax([styles.contentChangeContainer, state === 'entering' && styles.contentEntering, state === 'exiting' && styles.contentExiting])
53
+ }, children);
40
54
  };
41
55
 
42
56
  /**
@@ -55,7 +69,8 @@ export function Panel({
55
69
  id: providedId,
56
70
  xcss,
57
71
  hasBorder = true,
58
- maxWidth
72
+ maxWidth,
73
+ contentKey
59
74
  }) {
60
75
  const dangerouslyHoistSlotSizes = useContext(DangerouslyHoistSlotSizes);
61
76
  const id = useLayoutId({
@@ -212,5 +227,9 @@ export function Panel({
212
227
  position: "start"
213
228
  }, /*#__PURE__*/React.createElement("div", {
214
229
  className: ax([styles.scrollContainer, isMotionUpliftEnabled && state === 'entering' && styles.contentEntering, isMotionUpliftEnabled && state === 'exiting' && styles.contentExiting])
215
- }, children)));
230
+ }, isMotionUpliftEnabled && contentKey !== undefined ? /*#__PURE__*/React.createElement(ExitingPersistence, {
231
+ exitThenEnter: true
232
+ }, /*#__PURE__*/React.createElement(PanelContentMotion, {
233
+ key: contentKey
234
+ }, children)) : children)));
216
235
  }
@@ -1,4 +1,4 @@
1
- /* ribbon.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* ribbon.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./ribbon.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* root.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* root.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./root.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { useEffect, useRef } from 'react';
@@ -1,4 +1,4 @@
1
- /* side-nav-content.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav-content.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./side-nav-content.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { forwardRef, useMemo, useRef } from 'react';
@@ -1,4 +1,4 @@
1
- /* side-nav-footer.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav-footer.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./side-nav-footer.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* side-nav-header.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav-header.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./side-nav-header.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* side-nav.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* side-nav.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./side-nav.compiled.css";
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* toggle-button.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* toggle-button.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./toggle-button.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
@@ -1,4 +1,4 @@
1
- /* top-nav-end.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav-end.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./top-nav-end.compiled.css";
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* top-nav-middle.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav-middle.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./top-nav-middle.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React from 'react';
@@ -1,4 +1,4 @@
1
- /* top-nav-start.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav-start.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./top-nav-start.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { forwardRef, useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';
@@ -1,4 +1,4 @@
1
- /* top-nav.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* top-nav.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./top-nav.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* custom-title.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* custom-title.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./custom-title.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -1,4 +1,4 @@
1
- /* app-logo.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* app-logo.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./app-logo.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { useCallback, useRef } from 'react';
@@ -1,4 +1,4 @@
1
- /* custom-logo.tsx generated by @compiled/babel-plugin v3.0.1 */
1
+ /* custom-logo.tsx generated by @compiled/babel-plugin v3.0.2 */
2
2
  import "./custom-logo.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { useEffect, useRef } from 'react';