@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.
Files changed (159) hide show
  1. package/CHANGELOG.md +63 -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.compiled.css +0 -1
  6. package/dist/cjs/components/skip-links/skip-link.js +1 -1
  7. package/dist/cjs/components/skip-links/skip-links-container.compiled.css +0 -1
  8. package/dist/cjs/components/skip-links/skip-links-container.js +1 -1
  9. package/dist/cjs/components/skip-links/skip-links-popup.js +1 -1
  10. package/dist/cjs/ui/page-layout/aside.compiled.css +0 -1
  11. package/dist/cjs/ui/page-layout/aside.js +1 -1
  12. package/dist/cjs/ui/page-layout/banner.compiled.css +0 -1
  13. package/dist/cjs/ui/page-layout/banner.js +1 -1
  14. package/dist/cjs/ui/page-layout/main/main-sticky-header.js +1 -1
  15. package/dist/cjs/ui/page-layout/main/main.compiled.css +0 -1
  16. package/dist/cjs/ui/page-layout/main/main.js +1 -1
  17. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +2 -2
  18. package/dist/cjs/ui/page-layout/panel.compiled.css +4 -1
  19. package/dist/cjs/ui/page-layout/panel.js +48 -6
  20. package/dist/cjs/ui/page-layout/ribbon.compiled.css +0 -1
  21. package/dist/cjs/ui/page-layout/ribbon.js +1 -1
  22. package/dist/cjs/ui/page-layout/root.js +1 -1
  23. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +1 -1
  24. package/dist/cjs/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  25. package/dist/cjs/ui/page-layout/side-nav/side-nav-header.js +1 -1
  26. package/dist/cjs/ui/page-layout/side-nav/side-nav.compiled.css +0 -1
  27. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +1 -1
  28. package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +1 -1
  29. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
  30. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +1 -1
  31. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.compiled.css +0 -1
  32. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  33. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.compiled.css +0 -1
  34. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +1 -1
  35. package/dist/cjs/ui/page-layout/top-nav/top-nav.compiled.css +0 -1
  36. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +1 -1
  37. package/dist/cjs/ui/top-nav-items/app-switcher.js +7 -2
  38. package/dist/cjs/ui/top-nav-items/custom-title.js +1 -1
  39. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -1
  40. package/dist/cjs/ui/top-nav-items/nav-logo/app-logo.js +1 -1
  41. package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -1
  42. package/dist/cjs/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  43. package/dist/cjs/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  44. package/dist/cjs/ui/top-nav-items/search.compiled.css +0 -1
  45. package/dist/cjs/ui/top-nav-items/search.js +1 -1
  46. package/dist/cjs/ui/top-nav-items/themed/themed-anchor.compiled.css +0 -1
  47. package/dist/cjs/ui/top-nav-items/themed/themed-anchor.js +1 -1
  48. package/dist/cjs/ui/top-nav-items/themed/themed-button.js +1 -1
  49. package/dist/cjs/ui/top-nav-items/themed/themed-icon-button.js +2 -2
  50. package/dist/cjs/ui/top-nav-items/themed/themed-link-button.js +1 -1
  51. package/dist/cjs/ui/top-nav-items/themed/themed-link-icon-button.js +1 -1
  52. package/dist/cjs/ui/top-nav-items/themed/themed-pressable.compiled.css +0 -1
  53. package/dist/cjs/ui/top-nav-items/themed/themed-pressable.js +1 -1
  54. package/dist/es2019/components/badge-container.js +1 -1
  55. package/dist/es2019/components/list-item.js +1 -1
  56. package/dist/es2019/components/list.js +1 -1
  57. package/dist/es2019/components/skip-links/skip-link.compiled.css +0 -1
  58. package/dist/es2019/components/skip-links/skip-link.js +1 -1
  59. package/dist/es2019/components/skip-links/skip-links-container.compiled.css +0 -1
  60. package/dist/es2019/components/skip-links/skip-links-container.js +1 -1
  61. package/dist/es2019/components/skip-links/skip-links-popup.js +1 -1
  62. package/dist/es2019/ui/page-layout/aside.compiled.css +0 -1
  63. package/dist/es2019/ui/page-layout/aside.js +1 -1
  64. package/dist/es2019/ui/page-layout/banner.compiled.css +0 -1
  65. package/dist/es2019/ui/page-layout/banner.js +1 -1
  66. package/dist/es2019/ui/page-layout/main/main-sticky-header.js +1 -1
  67. package/dist/es2019/ui/page-layout/main/main.compiled.css +0 -1
  68. package/dist/es2019/ui/page-layout/main/main.js +1 -1
  69. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +2 -2
  70. package/dist/es2019/ui/page-layout/panel.compiled.css +4 -1
  71. package/dist/es2019/ui/page-layout/panel.js +48 -7
  72. package/dist/es2019/ui/page-layout/ribbon.compiled.css +0 -1
  73. package/dist/es2019/ui/page-layout/ribbon.js +1 -1
  74. package/dist/es2019/ui/page-layout/root.js +1 -1
  75. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +1 -1
  76. package/dist/es2019/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  77. package/dist/es2019/ui/page-layout/side-nav/side-nav-header.js +1 -1
  78. package/dist/es2019/ui/page-layout/side-nav/side-nav.compiled.css +0 -1
  79. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +1 -1
  80. package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +1 -1
  81. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
  82. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +1 -1
  83. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.compiled.css +0 -1
  84. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  85. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.compiled.css +0 -1
  86. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +1 -1
  87. package/dist/es2019/ui/page-layout/top-nav/top-nav.compiled.css +0 -1
  88. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +1 -1
  89. package/dist/es2019/ui/top-nav-items/app-switcher.js +22 -15
  90. package/dist/es2019/ui/top-nav-items/custom-title.js +1 -1
  91. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -1
  92. package/dist/es2019/ui/top-nav-items/nav-logo/app-logo.js +1 -1
  93. package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -1
  94. package/dist/es2019/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  95. package/dist/es2019/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  96. package/dist/es2019/ui/top-nav-items/search.compiled.css +0 -1
  97. package/dist/es2019/ui/top-nav-items/search.js +1 -1
  98. package/dist/es2019/ui/top-nav-items/themed/themed-anchor.compiled.css +0 -1
  99. package/dist/es2019/ui/top-nav-items/themed/themed-anchor.js +1 -1
  100. package/dist/es2019/ui/top-nav-items/themed/themed-button.js +1 -1
  101. package/dist/es2019/ui/top-nav-items/themed/themed-icon-button.js +2 -2
  102. package/dist/es2019/ui/top-nav-items/themed/themed-link-button.js +1 -1
  103. package/dist/es2019/ui/top-nav-items/themed/themed-link-icon-button.js +1 -1
  104. package/dist/es2019/ui/top-nav-items/themed/themed-pressable.compiled.css +0 -1
  105. package/dist/es2019/ui/top-nav-items/themed/themed-pressable.js +1 -1
  106. package/dist/esm/components/badge-container.js +1 -1
  107. package/dist/esm/components/list-item.js +1 -1
  108. package/dist/esm/components/list.js +1 -1
  109. package/dist/esm/components/skip-links/skip-link.compiled.css +0 -1
  110. package/dist/esm/components/skip-links/skip-link.js +1 -1
  111. package/dist/esm/components/skip-links/skip-links-container.compiled.css +0 -1
  112. package/dist/esm/components/skip-links/skip-links-container.js +1 -1
  113. package/dist/esm/components/skip-links/skip-links-popup.js +1 -1
  114. package/dist/esm/ui/page-layout/aside.compiled.css +0 -1
  115. package/dist/esm/ui/page-layout/aside.js +1 -1
  116. package/dist/esm/ui/page-layout/banner.compiled.css +0 -1
  117. package/dist/esm/ui/page-layout/banner.js +1 -1
  118. package/dist/esm/ui/page-layout/main/main-sticky-header.js +1 -1
  119. package/dist/esm/ui/page-layout/main/main.compiled.css +0 -1
  120. package/dist/esm/ui/page-layout/main/main.js +1 -1
  121. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +2 -2
  122. package/dist/esm/ui/page-layout/panel.compiled.css +4 -1
  123. package/dist/esm/ui/page-layout/panel.js +49 -7
  124. package/dist/esm/ui/page-layout/ribbon.compiled.css +0 -1
  125. package/dist/esm/ui/page-layout/ribbon.js +1 -1
  126. package/dist/esm/ui/page-layout/root.js +1 -1
  127. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +1 -1
  128. package/dist/esm/ui/page-layout/side-nav/side-nav-footer.js +1 -1
  129. package/dist/esm/ui/page-layout/side-nav/side-nav-header.js +1 -1
  130. package/dist/esm/ui/page-layout/side-nav/side-nav.compiled.css +0 -1
  131. package/dist/esm/ui/page-layout/side-nav/side-nav.js +1 -1
  132. package/dist/esm/ui/page-layout/side-nav/toggle-button.js +1 -1
  133. package/dist/esm/ui/page-layout/top-nav/top-nav-end.compiled.css +0 -1
  134. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +1 -1
  135. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.compiled.css +0 -1
  136. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +1 -1
  137. package/dist/esm/ui/page-layout/top-nav/top-nav-start.compiled.css +0 -1
  138. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +1 -1
  139. package/dist/esm/ui/page-layout/top-nav/top-nav.compiled.css +0 -1
  140. package/dist/esm/ui/page-layout/top-nav/top-nav.js +1 -1
  141. package/dist/esm/ui/top-nav-items/app-switcher.js +7 -2
  142. package/dist/esm/ui/top-nav-items/custom-title.js +1 -1
  143. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.compiled.css +0 -1
  144. package/dist/esm/ui/top-nav-items/nav-logo/app-logo.js +1 -1
  145. package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.compiled.css +0 -1
  146. package/dist/esm/ui/top-nav-items/nav-logo/custom-logo.js +1 -1
  147. package/dist/esm/ui/top-nav-items/nav-logo/logo-renderer.js +1 -1
  148. package/dist/esm/ui/top-nav-items/search.compiled.css +0 -1
  149. package/dist/esm/ui/top-nav-items/search.js +1 -1
  150. package/dist/esm/ui/top-nav-items/themed/themed-anchor.compiled.css +0 -1
  151. package/dist/esm/ui/top-nav-items/themed/themed-anchor.js +1 -1
  152. package/dist/esm/ui/top-nav-items/themed/themed-button.js +1 -1
  153. package/dist/esm/ui/top-nav-items/themed/themed-icon-button.js +2 -2
  154. package/dist/esm/ui/top-nav-items/themed/themed-link-button.js +1 -1
  155. package/dist/esm/ui/top-nav-items/themed/themed-link-icon-button.js +1 -1
  156. package/dist/esm/ui/top-nav-items/themed/themed-pressable.compiled.css +0 -1
  157. package/dist/esm/ui/top-nav-items/themed/themed-pressable.js +1 -1
  158. package/dist/types/ui/top-nav-items/app-switcher.d.ts +10 -0
  159. 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
- /* badge-container.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* badge-container.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* list-item.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* list.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,2 +1 @@
1
-
2
1
  ._1rjcu2gc{padding-block:var(--ds-space-100,8px)}._1pfhze3t{margin-block-start:var(--ds-space-0,0)}
@@ -1,4 +1,4 @@
1
- /* skip-link.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* skip-link.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,3 @@
1
-
2
1
  ._2rko12b0{border-radius:var(--ds-radius-small,4px)}
3
2
  ._zulp1b66{gap:var(--ds-space-050,4px)}
4
3
  ._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
@@ -1,4 +1,4 @@
1
- /* skip-links-container.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* skip-links-container.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* skip-links-popup.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._nd5lns35{grid-area:aside}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
3
2
  ._18m91wug{overflow-y:auto}
4
3
  ._1reo1wug{overflow-x:auto}
@@ -1,4 +1,4 @@
1
- /* aside.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* aside.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._nd5ldkfm{grid-area:banner}._152tidpf{inset-block-start:0}
3
2
  ._18m915vq{overflow-y:hidden}
4
3
  ._1pby11wp{z-index:3}
@@ -1,4 +1,4 @@
1
- /* banner.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* banner.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* main-sticky-header.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._nd5l1gzg{grid-area:main}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
3
2
  ._18m91wug{overflow-y:auto}
4
3
  ._19121cl4{isolation:isolate}
@@ -1,4 +1,4 @@
1
- /* main.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* main.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
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.39.1 */
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
- className: (0, _runtime.ax)([styles.root, defaultWidth === 0 && styles.hidden, hasBorder && styles.border, xcss]),
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: ref
201
+ ref: mergedRef
160
202
  }, dangerouslyHoistSlotSizes &&
161
203
  /*#__PURE__*/
162
204
  // ------ START UNSAFE STYLES ------
@@ -1,4 +1,3 @@
1
-
2
1
  ._nd5l1c99{grid-area:ribbon}._152tidpf{inset-block-start:0}
3
2
  ._18m915vq{overflow-y:hidden}
4
3
  ._1e0cglyw{display:none}
@@ -1,4 +1,4 @@
1
- /* ribbon.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* ribbon.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* root.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* side-nav-content.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* side-nav-footer.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* side-nav-header.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,3 @@
1
-
2
1
  ._nd5l1b6c{grid-area:main/aside/aside/aside}
3
2
  ._191wglyw{border-inline-start:none}
4
3
  ._t51zglyw{border-inline-end:none}._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
@@ -1,4 +1,4 @@
1
- /* side-nav.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* side-nav.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* toggle-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");
@@ -1,4 +1,3 @@
1
-
2
1
  ._1yt4u2gc{padding:var(--ds-space-100,8px)}
3
2
  ._zulp1b66{gap:var(--ds-space-050,4px)}
4
3
  ._yyhy11wp{grid-column:3}._1bahh9n0{justify-content:end}
@@ -1,4 +1,4 @@
1
- /* top-nav-end.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* top-nav-end.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._zulpu2gc{gap:var(--ds-space-100,8px)}
3
2
  ._yyhycs5v{grid-column:2}._1bahh9n0{justify-content:end}
4
3
  ._1bsb1osq{width:100%}
@@ -1,4 +1,4 @@
1
- /* top-nav-middle.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* top-nav-middle.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._zulp1b66{gap:var(--ds-space-050,4px)}
3
2
  ._zulp1kw7{gap:inherit}
4
3
  ._yyhykb7n{grid-column:1}._15yekb7n{--animation-direction:1}
@@ -1,4 +1,4 @@
1
- /* top-nav-start.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* top-nav-start.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._nd5l8cbt{grid-area:top-bar}
3
2
  ._zulpu2gc{gap:var(--ds-space-100,8px)}
4
3
  ._18zrutpp{padding-inline:var(--ds-space-150,9pt)}
@@ -1,4 +1,4 @@
1
- /* top-nav.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* top-nav.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -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: _appSwitcher.default,
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,4 @@
1
- /* custom-title.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* custom-title.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,3 @@
1
-
2
1
  ._2rko19bv{border-radius:10px}
3
2
  ._2rko1mok{border-radius:var(--ds-radius-large,8px)}
4
3
  ._18zr1b66{padding-inline:var(--ds-space-050,4px)}._18m915vq{overflow-y:hidden}
@@ -1,4 +1,4 @@
1
- /* app-logo.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* app-logo.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1,4 +1,3 @@
1
-
2
1
  ._2rko1mok{border-radius:var(--ds-radius-large,8px)}
3
2
  ._2rkofajl{border-radius:var(--ds-radius-small,3px)}
4
3
  ._18zr1b66{padding-inline:var(--ds-space-050,4px)}._18m915vq{overflow-y:hidden}
@@ -1,4 +1,4 @@
1
- /* custom-logo.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* custom-logo.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* logo-renderer.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -1,4 +1,3 @@
1
-
2
1
  ._2rko12b0{border-radius:var(--ds-radius-small,4px)}
3
2
  ._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}._18zr12x7{padding-inline:var(--ds-space-075,6px)}
4
3
  ._1ii7kb7n{grid-row:1}
@@ -1,4 +1,4 @@
1
- /* search.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* search.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  "use strict";
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -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-anchor.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* themed-anchor.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* themed-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");
@@ -1,4 +1,4 @@
1
- /* themed-icon-button.tsx generated by @compiled/babel-plugin v0.39.1 */
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"];
@@ -1,4 +1,4 @@
1
- /* themed-link-button.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* themed-link-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");
@@ -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)}
@@ -1,4 +1,4 @@
1
- /* themed-pressable.tsx generated by @compiled/babel-plugin v0.39.1 */
1
+ /* themed-pressable.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* badge-container.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* list-item.tsx generated by @compiled/babel-plugin v0.40.0 */
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 v0.39.1 */
1
+ /* list.tsx generated by @compiled/babel-plugin v0.40.0 */
2
2
  import * as React from 'react';
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import { forwardRef } from 'react';
@@ -1,2 +1 @@
1
-
2
1
  ._1rjcu2gc{padding-block:var(--ds-space-100,8px)}._1pfhze3t{margin-block-start:var(--ds-space-0,0)}