@atlaskit/navigation-system 0.177.3 → 0.179.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 (198) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/afm-volt/tsconfig.json +7 -4
  3. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +16 -3
  4. package/dist/cjs/ui/menu-item/menu-item.compiled.css +2 -2
  5. package/dist/cjs/ui/menu-item/menu-item.js +5 -3
  6. package/dist/cjs/ui/page-layout/aside.js +2 -5
  7. package/dist/cjs/ui/page-layout/main/main-sticky-header.compiled.css +0 -1
  8. package/dist/cjs/ui/page-layout/main/main-sticky-header.js +4 -10
  9. package/dist/cjs/ui/page-layout/main/main.compiled.css +1 -1
  10. package/dist/cjs/ui/page-layout/main/main.js +3 -9
  11. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +17 -4
  12. package/dist/es2019/ui/menu-item/menu-item.compiled.css +2 -2
  13. package/dist/es2019/ui/menu-item/menu-item.js +4 -2
  14. package/dist/es2019/ui/page-layout/aside.js +2 -5
  15. package/dist/es2019/ui/page-layout/main/main-sticky-header.compiled.css +0 -1
  16. package/dist/es2019/ui/page-layout/main/main-sticky-header.js +3 -8
  17. package/dist/es2019/ui/page-layout/main/main.compiled.css +1 -1
  18. package/dist/es2019/ui/page-layout/main/main.js +3 -9
  19. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +17 -4
  20. package/dist/esm/ui/menu-item/menu-item.compiled.css +2 -2
  21. package/dist/esm/ui/menu-item/menu-item.js +5 -3
  22. package/dist/esm/ui/page-layout/aside.js +2 -5
  23. package/dist/esm/ui/page-layout/main/main-sticky-header.compiled.css +0 -1
  24. package/dist/esm/ui/page-layout/main/main-sticky-header.js +3 -8
  25. package/dist/esm/ui/page-layout/main/main.compiled.css +1 -1
  26. package/dist/esm/ui/page-layout/main/main.js +3 -9
  27. package/dist/types/components/skip-links/skip-link.d.ts +1 -1
  28. package/dist/types/components/skip-links/skip-links-container.d.ts +1 -2
  29. package/dist/types/context/skip-links/skip-links-context.d.ts +15 -2
  30. package/dist/types/context/skip-links/skip-links-data-context.d.ts +0 -1
  31. package/dist/types/context/top-nav-start/top-nav-start-context.d.ts +0 -1
  32. package/dist/types/ui/menu-item/button-menu-item.d.ts +4 -4
  33. package/dist/types/ui/menu-item/container-avatar.d.ts +0 -1
  34. package/dist/types/ui/menu-item/drag-handle.d.ts +0 -1
  35. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +1 -2
  36. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +0 -1
  37. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +5 -5
  38. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +0 -1
  39. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +2 -2
  40. package/dist/types/ui/menu-item/link-menu-item.d.ts +6 -11
  41. package/dist/types/ui/menu-item/menu-item.d.ts +16 -11
  42. package/dist/types/ui/menu-item/menu-list-item.d.ts +1 -2
  43. package/dist/types/ui/menu-item/menu-list.d.ts +0 -1
  44. package/dist/types/ui/menu-item/top-level-spacer.d.ts +0 -1
  45. package/dist/types/ui/menu-item/use-scroll-menu-item-into-view.d.ts +0 -1
  46. package/dist/types/ui/menu-section/divider.d.ts +0 -1
  47. package/dist/types/ui/menu-section/menu-section-context.d.ts +0 -1
  48. package/dist/types/ui/page-layout/aside.d.ts +1 -23
  49. package/dist/types/ui/page-layout/banner.d.ts +0 -1
  50. package/dist/types/ui/page-layout/hoist-slot-sizes-context.d.ts +0 -1
  51. package/dist/types/ui/page-layout/hoist-utils.d.ts +2 -2
  52. package/dist/types/ui/page-layout/main/main.d.ts +1 -23
  53. package/dist/types/ui/page-layout/panel-splitter/get-width.d.ts +2 -2
  54. package/dist/types/ui/page-layout/panel.d.ts +0 -1
  55. package/dist/types/ui/page-layout/side-nav/side-nav-footer.d.ts +1 -1
  56. package/dist/types/ui/page-layout/side-nav/side-nav.d.ts +0 -1
  57. package/dist/types/ui/page-layout/side-nav/toggle-button-context.d.ts +0 -1
  58. package/dist/types/ui/page-layout/side-nav/toggle-button.d.ts +4 -4
  59. package/dist/types/ui/page-layout/top-nav/top-nav.d.ts +0 -1
  60. package/dist/types/ui/top-nav-items/chat-button.d.ts +3 -3
  61. package/dist/types/ui/top-nav-items/nav-logo/app-logo.d.ts +1 -1
  62. package/dist/types/ui/top-nav-items/nav-logo/custom-logo.d.ts +1 -1
  63. package/dist/types/ui/top-nav-items/search.d.ts +5 -5
  64. package/dist/types/ui/top-nav-items/themed/button.d.ts +2 -2
  65. package/dist/types/ui/top-nav-items/themed/has-custom-theme-context.d.ts +0 -1
  66. package/dist/types/ui/top-nav-items/themed/use-custom-theme.d.ts +0 -1
  67. package/dist/types-ts4.5/components/skip-links/skip-link.d.ts +1 -1
  68. package/dist/types-ts4.5/components/skip-links/skip-links-container.d.ts +1 -2
  69. package/dist/types-ts4.5/context/skip-links/skip-links-context.d.ts +15 -2
  70. package/dist/types-ts4.5/context/skip-links/skip-links-data-context.d.ts +0 -1
  71. package/dist/types-ts4.5/context/top-nav-start/top-nav-start-context.d.ts +0 -1
  72. package/dist/types-ts4.5/ui/menu-item/button-menu-item.d.ts +4 -4
  73. package/dist/types-ts4.5/ui/menu-item/container-avatar.d.ts +0 -1
  74. package/dist/types-ts4.5/ui/menu-item/drag-handle.d.ts +0 -1
  75. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +1 -2
  76. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +0 -1
  77. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +5 -5
  78. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +0 -1
  79. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +2 -2
  80. package/dist/types-ts4.5/ui/menu-item/link-menu-item.d.ts +6 -11
  81. package/dist/types-ts4.5/ui/menu-item/menu-item.d.ts +16 -11
  82. package/dist/types-ts4.5/ui/menu-item/menu-list-item.d.ts +1 -2
  83. package/dist/types-ts4.5/ui/menu-item/menu-list.d.ts +0 -1
  84. package/dist/types-ts4.5/ui/menu-item/top-level-spacer.d.ts +0 -1
  85. package/dist/types-ts4.5/ui/menu-item/use-scroll-menu-item-into-view.d.ts +0 -1
  86. package/dist/types-ts4.5/ui/menu-section/divider.d.ts +0 -1
  87. package/dist/types-ts4.5/ui/menu-section/menu-section-context.d.ts +0 -1
  88. package/dist/types-ts4.5/ui/page-layout/aside.d.ts +1 -23
  89. package/dist/types-ts4.5/ui/page-layout/banner.d.ts +0 -1
  90. package/dist/types-ts4.5/ui/page-layout/hoist-slot-sizes-context.d.ts +0 -1
  91. package/dist/types-ts4.5/ui/page-layout/hoist-utils.d.ts +2 -2
  92. package/dist/types-ts4.5/ui/page-layout/main/main.d.ts +1 -23
  93. package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-width.d.ts +2 -2
  94. package/dist/types-ts4.5/ui/page-layout/panel.d.ts +0 -1
  95. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-footer.d.ts +1 -1
  96. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav.d.ts +0 -1
  97. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-context.d.ts +0 -1
  98. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button.d.ts +4 -4
  99. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav.d.ts +0 -1
  100. package/dist/types-ts4.5/ui/top-nav-items/chat-button.d.ts +3 -3
  101. package/dist/types-ts4.5/ui/top-nav-items/nav-logo/app-logo.d.ts +1 -1
  102. package/dist/types-ts4.5/ui/top-nav-items/nav-logo/custom-logo.d.ts +1 -1
  103. package/dist/types-ts4.5/ui/top-nav-items/search.d.ts +5 -5
  104. package/dist/types-ts4.5/ui/top-nav-items/themed/button.d.ts +2 -2
  105. package/dist/types-ts4.5/ui/top-nav-items/themed/has-custom-theme-context.d.ts +0 -1
  106. package/dist/types-ts4.5/ui/top-nav-items/themed/use-custom-theme.d.ts +0 -1
  107. package/examples/advanced-layout.tsx +1 -1
  108. package/examples/company-hub-mock.tsx +1 -1
  109. package/examples/composition.tsx +4 -80
  110. package/examples/confluence-mock.tsx +1 -1
  111. package/examples/drag-and-drop-in-the-sidebar-flyout.tsx +1 -1
  112. package/examples/drag-and-drop-jira-scaling-vr.tsx +25 -0
  113. package/examples/expandable-menu-item.tsx +1 -0
  114. package/examples/interactive-layout.tsx +3 -4
  115. package/examples/layers-in-main.tsx +2 -3
  116. package/examples/legacy-var-testing.tsx +1 -1
  117. package/examples/page-layout-panel-aside-default-widths.tsx +1 -1
  118. package/examples/page-layout.tsx +2 -127
  119. package/examples/resizable-slots.tsx +1 -1
  120. package/package.json +7 -8
  121. package/src/__tests__/informational-vr-tests/__snapshots__/layering/layers-in-main-slot-short-viewport--desktop--platform-dst-nav4-layering-in-main-slot-fixes-false.png +0 -0
  122. package/src/__tests__/informational-vr-tests/__snapshots__/layering/layers-in-main-slot-short-viewport--desktop--platform-dst-nav4-layering-in-main-slot-fixes-true.png +0 -0
  123. package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile--mobile.png +0 -0
  124. package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile-without-panel--mobile.png +0 -0
  125. package/src/__tests__/informational-vr-tests/layering.vr.tsx +6 -0
  126. package/src/__tests__/playwright/page-layout.spec.tsx +1 -25
  127. package/src/__tests__/vr-tests/__snapshots__/a11y-scaling/app--desktop.png +0 -0
  128. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop-large.png +0 -0
  129. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop.png +0 -0
  130. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop-large.png +0 -0
  131. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop.png +0 -0
  132. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--mobile.png +0 -0
  133. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large-splitter.png +0 -0
  134. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large.png +0 -0
  135. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop.png +0 -0
  136. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop-large.png +0 -0
  137. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop.png +0 -0
  138. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop-large.png +0 -0
  139. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop.png +0 -0
  140. package/src/__tests__/vr-tests/a11y-scaling.vr.tsx +12 -0
  141. package/src/__tests__/vr-tests/layering.vr.tsx +8 -87
  142. package/src/ui/menu-item/__tests__/playwright/scroll-into-view.spec.tsx +9 -10
  143. package/src/ui/menu-item/__tests__/unit/expandable-menu-item.test.tsx +88 -63
  144. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-webkit.png +0 -0
  145. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-webkit.png +0 -0
  146. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-webkit.png +0 -0
  147. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-webkit.png +0 -0
  148. package/src/ui/menu-item/__tests__/vr-tests/expandable.vr.tsx +8 -8
  149. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.tsx +19 -2
  150. package/src/ui/menu-item/menu-item.tsx +10 -2
  151. package/src/ui/page-layout/__tests__/unit/react-safety.test.tsx +0 -8
  152. package/src/ui/page-layout/__tests__/unit/sticky-header.test.tsx +2 -16
  153. package/src/ui/page-layout/__tests__/vr-tests/page-layout.vr.tsx +2 -14
  154. package/src/ui/page-layout/aside.tsx +5 -35
  155. package/src/ui/page-layout/main/main-sticky-header.tsx +2 -21
  156. package/src/ui/page-layout/main/main.tsx +2 -34
  157. package/dist/cjs/ui/page-layout/main/main-sticky-context.js +0 -11
  158. package/dist/es2019/ui/page-layout/main/main-sticky-context.js +0 -6
  159. package/dist/esm/ui/page-layout/main/main-sticky-context.js +0 -6
  160. package/dist/types/ui/page-layout/main/main-sticky-context.d.ts +0 -5
  161. package/dist/types-ts4.5/ui/page-layout/main/main-sticky-context.d.ts +0 -5
  162. package/examples/page-layout-all-slots-scrollable-fixed.tsx +0 -3
  163. package/examples/page-layout-main-aside-scrollable-fixed.tsx +0 -3
  164. package/examples/page-layout-side-nav-main-aside-scrollable-fixed.tsx +0 -3
  165. package/examples/page-layout-top-bar-side-nav-main-aside-scrollable-fixed.tsx +0 -3
  166. package/examples/page-layout-top-bar-side-nav-main-scrollable-fixed.tsx +0 -3
  167. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-no-panel-vr--desktop-large.png +0 -0
  168. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-no-panel-vr--desktop.png +0 -0
  169. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-no-panel-vr--mobile.png +0 -0
  170. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--desktop-large-splitter.png +0 -0
  171. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--desktop-large.png +0 -0
  172. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--desktop.png +0 -0
  173. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--mobile.png +0 -0
  174. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-with-forced-isfixed-temp---desktop.png +0 -0
  175. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-fixed-vr--desktop-large.png +0 -0
  176. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-fixed-vr--desktop.png +0 -0
  177. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-fixed-vr--mobile.png +0 -0
  178. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-with-forced-isfixed-temp---desktop.png +0 -0
  179. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-with-forced-isfixed-temp---desktop.png +0 -0
  180. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-fixed-vr--desktop-large.png +0 -0
  181. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-fixed-vr--desktop.png +0 -0
  182. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-fixed-vr--mobile.png +0 -0
  183. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-fixed-vr--desktop-large.png +0 -0
  184. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-fixed-vr--desktop.png +0 -0
  185. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-fixed-vr--mobile.png +0 -0
  186. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-with-forced-isfixed-temp---desktop.png +0 -0
  187. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-with-forced-isfixed-temp---desktop.png +0 -0
  188. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable-fixed--desktop.png +0 -0
  189. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable-fixed--mobile.png +0 -0
  190. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable-fixed--desktop.png +0 -0
  191. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable-fixed--mobile.png +0 -0
  192. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable-fixed--desktop.png +0 -0
  193. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable-fixed--mobile.png +0 -0
  194. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable-fixed--desktop.png +0 -0
  195. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable-fixed--mobile.png +0 -0
  196. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable-fixed--desktop.png +0 -0
  197. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable-fixed--mobile.png +0 -0
  198. package/src/ui/page-layout/main/main-sticky-context.tsx +0 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # @atlassian/navigation-system
2
2
 
3
+ ## 0.179.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#199851](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/199851)
8
+ [`625ab3de43de0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/625ab3de43de0) -
9
+ Cleans up the `platform_dst_nav4_disable_is_fixed_prop` feature gate. The `isFixed` prop has now
10
+ been removed from `Main` and `Aside` and these slots will now always be fixed, acting as separate
11
+ scroll containers.
12
+
13
+ ## 0.178.0
14
+
15
+ ### Minor Changes
16
+
17
+ - [#199487](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/199487)
18
+ [`87e1e76c9c3aa`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/87e1e76c9c3aa) -
19
+ The `elemBefore` chevron icon button in the link (selectable) variants of
20
+ `ExpandableMenuItemTrigger` is now labelled by the menu item (specifically, its anchor element)
21
+ through the `aria-labelledby` attribute. This is to provide context on what will be expanded or
22
+ collapsed to screen readers.
23
+
24
+ This change is behind a feature flag.
25
+
26
+ - [#199487](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/199487)
27
+ [`87e1e76c9c3aa`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/87e1e76c9c3aa) -
28
+ The `ExpandableMenuItemTrigger` `testId` is now passed down to the `elemBefore` chevron icon
29
+ button in the link (selectable) variants of `ExpandableMenuItemTrigger`.
30
+
31
+ ### Patch Changes
32
+
33
+ - [#199297](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/199297)
34
+ [`3805d3e955d32`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3805d3e955d32) -
35
+ Improve menu item scaling with browser font size by using rem for height.
36
+ - [`5bed2aeb9093f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5bed2aeb9093f) -
37
+ Internal refactoring of tests
38
+ - Updated dependencies
39
+
3
40
  ## 0.177.3
4
41
 
5
42
  ### Patch Changes
@@ -14,7 +14,13 @@
14
14
  "exclude": [
15
15
  "../src/**/__tests__/*",
16
16
  "../src/**/*.test.*",
17
- "../src/**/test.*"
17
+ "../src/**/test.*",
18
+ "../src/**/examples.*",
19
+ "../src/**/examples/*",
20
+ "../src/**/examples/**/*",
21
+ "../src/**/*.stories.*",
22
+ "../src/**/stories/*",
23
+ "../src/**/stories/**/*"
18
24
  ],
19
25
  "references": [
20
26
  {
@@ -59,9 +65,6 @@
59
65
  {
60
66
  "path": "../../primitives/afm-volt/tsconfig.json"
61
67
  },
62
- {
63
- "path": "../../../navigation/temp-nav-app-icons/afm-volt/tsconfig.json"
64
- },
65
68
  {
66
69
  "path": "../../tokens/afm-volt/tsconfig.json"
67
70
  },
@@ -14,6 +14,7 @@ var _react = _interopRequireWildcard(require("react"));
14
14
  var _new = require("@atlaskit/button/new");
15
15
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down"));
16
16
  var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right"));
17
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
18
  var _menuItem = require("../menu-item");
18
19
  var _useScrollMenuItemIntoView = require("../use-scroll-menu-item-into-view");
19
20
  var _expandableMenuItemContext = require("./expandable-menu-item-context");
@@ -68,6 +69,7 @@ var ExpandableMenuItemTrigger = exports.ExpandableMenuItemTrigger = /*#__PURE__*
68
69
  isDragging = _ref2.isDragging,
69
70
  hasDragIndicator = _ref2.hasDragIndicator,
70
71
  dropIndicator = _ref2.dropIndicator;
72
+ var id = (0, _react.useId)();
71
73
  var onExpansionToggle = (0, _expandableMenuItemContext.useOnExpansionToggle)();
72
74
  var isExpanded = (0, _expandableMenuItemContext.useIsExpanded)();
73
75
  var setIsExpanded = (0, _expandableMenuItemContext.useSetIsExpanded)();
@@ -100,12 +102,22 @@ var ExpandableMenuItemTrigger = exports.ExpandableMenuItemTrigger = /*#__PURE__*
100
102
  providedElemBefore: providedElemBefore
101
103
  });
102
104
  },
103
- "aria-expanded": isExpanded,
104
- label: isExpanded ? 'Collapse' : 'Expand',
105
+ "aria-expanded": isExpanded
106
+ // We are labelling the icon button using the containing menu item's content, to provide context to
107
+ // screen readers on what will actually be expanded or collapsed. Screen readers will also use the
108
+ // `aria-expanded` attribute to indicate the expanded state of the menu item.
109
+ // We are not using the `aria-label` attribute here as it is not supported by the `IconButton` component.
110
+ ,
111
+ "aria-labelledby": (0, _platformFeatureFlags.fg)('platform_dst_expandable_menu_item_elembefore_label') ? id : undefined
112
+ // IconButton requires a label prop, however it will not be used by screen readers as we are setting
113
+ // `aria-labelledby`, which will be used instead.
114
+ ,
115
+ label: (0, _platformFeatureFlags.fg)('platform_dst_expandable_menu_item_elembefore_label') ? '' : isExpanded ? 'Collapse' : 'Expand',
105
116
  appearance: "subtle",
106
117
  spacing: "compact",
107
118
  onClick: handleIconClick,
108
- interactionName: interactionName
119
+ interactionName: interactionName,
120
+ testId: testId ? "".concat(testId, "--elem-before-button") : undefined
109
121
  }) : /*#__PURE__*/_react.default.createElement(ExpandableMenuItemIcon, {
110
122
  isExpanded: isExpanded,
111
123
  isSelected: isSelected,
@@ -117,6 +129,7 @@ var ExpandableMenuItemTrigger = exports.ExpandableMenuItemTrigger = /*#__PURE__*
117
129
  ref: itemRef,
118
130
  className: (0, _runtime.ax)([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore])
119
131
  }, /*#__PURE__*/_react.default.createElement(_menuItem.MenuItemBase, {
132
+ id: id,
120
133
  actions: actions,
121
134
  actionsOnHover: actionsOnHover,
122
135
  elemBefore: elemBefore,
@@ -46,8 +46,8 @@
46
46
  ._4cvr1h6o{align-items:center}
47
47
  ._4t3i1crf{height:9pt}
48
48
  ._4t3i1tcg{height:24px}
49
- ._4t3ickbl{height:3pc}
50
- ._4t3izwfg{height:2pc}
49
+ ._4t3i1wto{height:3rem}
50
+ ._4t3iviql{height:2rem}
51
51
  ._85i51b66{padding-block-end:var(--ds-space-050,4px)}
52
52
  ._85i5v77o{padding-block-end:var(--ds-space-025,2px)}
53
53
  ._91ju1txw{--elem-after-display:flex}
@@ -146,13 +146,13 @@ var onTopOfButtonOrAnchorStyles = {
146
146
  */
147
147
  var nestedOpenPopupCSSSelector = exports.nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
148
148
  var containerStyles = {
149
- root: "_2rkoglpi _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3izwfg _4cvr1h6o _uiztglyw _syaz1gjq _ek6gglyw _1yyu1j28 _91ju1txw _1swv108i _1ojv1txw _irr3108i _1brr1txw _109x1txw",
149
+ root: "_2rkoglpi _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syaz1gjq _ek6gglyw _1yyu1j28 _91ju1txw _1swv108i _1ojv1txw _irr3108i _1brr1txw _109x1txw",
150
150
  removeElemAfter: "_91juglyw",
151
151
  showHoverActions: "_ek6g1txw",
152
152
  removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw _1mfcglyw _1sjuglyw",
153
153
  selected: "_bfhkfg4m _syazaqb7 _1yyu1fvw _1swvi1yw _30l3aqb7 _irr3i1yw",
154
154
  disabled: "_syaz1lh4 _irr3n7od",
155
- hasDescription: "_4t3ickbl",
155
+ hasDescription: "_4t3i1wto",
156
156
  dragging: "_tzy41ou4"
157
157
  };
158
158
  var buttonOrAnchorStyles = {
@@ -222,7 +222,8 @@ function getTextColor(_ref2) {
222
222
  * This can be inferred from the type of the `onClick` prop.
223
223
  */
224
224
  var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref3, forwardedRef) {
225
- var testId = _ref3.testId,
225
+ var id = _ref3.id,
226
+ testId = _ref3.testId,
226
227
  actions = _ref3.actions,
227
228
  actionsOnHover = _ref3.actionsOnHover,
228
229
  children = _ref3.children,
@@ -347,6 +348,7 @@ var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref3, forwardedRef) {
347
348
  'aria-controls': ariaControls,
348
349
  'aria-haspopup': ariaHasPopup,
349
350
  ref: (0, _mergeRefs.default)([forwardedRef, tooltipProps.ref]),
351
+ id: id,
350
352
  testId: testId,
351
353
  interactionName: interactionName
352
354
  });
@@ -53,8 +53,7 @@ function getResizeBounds() {
53
53
  }
54
54
  var styles = {
55
55
  root: "_nd5lns35 _vchhusvi _kqswh2mm _glte1kzp _ndwch9n0",
56
- fixedContentArea: "_1reo1wug _18m91wug _152timx3 _165teqxy _13wn1if8",
57
- fullHeight: "_4t3i1osq"
56
+ inner: "_1reo1wug _18m91wug _152timx3 _4t3i1osq _165teqxy _13wn1if8"
58
57
  };
59
58
 
60
59
  /**
@@ -65,7 +64,6 @@ var styles = {
65
64
  function Aside(_ref) {
66
65
  var children = _ref.children,
67
66
  xcss = _ref.xcss,
68
- isFixedProp = _ref.isFixed,
69
67
  _ref$defaultWidth = _ref.defaultWidth,
70
68
  defaultWidth = _ref$defaultWidth === void 0 ? 330 : _ref$defaultWidth,
71
69
  _ref$label = _ref.label,
@@ -78,7 +76,6 @@ function Aside(_ref) {
78
76
  var id = (0, _idUtils.useLayoutId)({
79
77
  providedId: providedId
80
78
  });
81
- var isFixed = (0, _platformFeatureFlags.fg)('platform_dst_nav4_disable_is_fixed_prop') ? true : isFixedProp;
82
79
 
83
80
  /**
84
81
  * Don't show the skip link if the slot has 0 width.
@@ -154,6 +151,6 @@ function Aside(_ref) {
154
151
  position: "start"
155
152
  }, /*#__PURE__*/React.createElement("div", {
156
153
  "data-testid": testId ? "".concat(testId, "--inner") : undefined,
157
- className: (0, _runtime.ax)([styles.fullHeight, isFixed && styles.fixedContentArea])
154
+ className: (0, _runtime.ax)([styles.inner])
158
155
  }, children)));
159
156
  }
@@ -1,4 +1,3 @@
1
1
  ._152tidpf{inset-block-start:0}
2
- ._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
3
2
  ._1pbykb7n{z-index:1}
4
3
  ._kqsw1if8{position:sticky}
@@ -1,21 +1,16 @@
1
1
  /* main-sticky-header.tsx generated by @compiled/babel-plugin v0.36.1 */
2
2
  "use strict";
3
3
 
4
- var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.MainStickyHeader = MainStickyHeader;
9
9
  require("./main-sticky-header.compiled.css");
10
10
  var _runtime = require("@compiled/react/runtime");
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _mainStickyContext = require("./main-sticky-context");
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); }
14
- var contentInsetBlockStart = "calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))";
11
+ var _react = _interopRequireDefault(require("react"));
15
12
  var stickyHeaderStyles = {
16
- root: "_kqsw1if8 _1pbykb7n",
17
- stickyInMain: "_152tidpf",
18
- stickyInBody: "_152timx3"
13
+ root: "_kqsw1if8 _1pbykb7n _152tidpf"
19
14
  };
20
15
 
21
16
  /**
@@ -25,9 +20,8 @@ function MainStickyHeader(_ref) {
25
20
  var children = _ref.children,
26
21
  xcss = _ref.xcss,
27
22
  testId = _ref.testId;
28
- var isMainFixed = (0, _react.useContext)(_mainStickyContext.MainStickyContext);
29
23
  return /*#__PURE__*/_react.default.createElement("div", {
30
24
  "data-testid": testId,
31
- className: (0, _runtime.ax)([stickyHeaderStyles.root, isMainFixed && stickyHeaderStyles.stickyInMain, !isMainFixed && stickyHeaderStyles.stickyInBody, xcss])
25
+ className: (0, _runtime.ax)([stickyHeaderStyles.root, xcss])
32
26
  }, children);
33
27
  }
@@ -4,4 +4,4 @@
4
4
  ._19121cl4{isolation:isolate}
5
5
  ._1reo1wug{overflow-x:auto}
6
6
  ._njlp1t7j{contain:paint}
7
- @media (min-width:64rem){._165teqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}._13wn1if8{position:sticky}._qwfh1wug{isolation:auto}}
7
+ @media (min-width:64rem){._qwfh1wug{isolation:auto}._165teqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}._13wn1if8{position:sticky}}
@@ -14,11 +14,9 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
14
  var _skipLinksContext = require("../../../context/skip-links/skip-links-context");
15
15
  var _constants = require("../constants");
16
16
  var _idUtils = require("../id-utils");
17
- var _mainStickyContext = require("./main-sticky-context");
18
17
  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); }
19
18
  var mainElementStyles = {
20
- root: "_nd5l1gzg _19121cl4 _qwfh1wug",
21
- fixedContentArea: "_1reo1wug _18m91wug _152timx3 _165teqxy _13wn1if8",
19
+ root: "_nd5l1gzg _1reo1wug _18m91wug _19121cl4 _152timx3 _qwfh1wug _165teqxy _13wn1if8",
22
20
  containPaint: "_njlp1t7j"
23
21
  };
24
22
 
@@ -27,7 +25,6 @@ var mainElementStyles = {
27
25
  */
28
26
  function Main(_ref) {
29
27
  var children = _ref.children,
30
- isFixedProp = _ref.isFixed,
31
28
  xcss = _ref.xcss,
32
29
  _ref$skipLinkLabel = _ref.skipLinkLabel,
33
30
  skipLinkLabel = _ref$skipLinkLabel === void 0 ? 'Main Content' : _ref$skipLinkLabel,
@@ -36,15 +33,12 @@ function Main(_ref) {
36
33
  var id = (0, _idUtils.useLayoutId)({
37
34
  providedId: providedId
38
35
  });
39
- var isFixed = (0, _platformFeatureFlags.fg)('platform_dst_nav4_disable_is_fixed_prop') ? true : isFixedProp;
40
36
  (0, _skipLinksContext.useSkipLink)(id, skipLinkLabel);
41
37
  return /*#__PURE__*/React.createElement(_react.Fragment, null, /*#__PURE__*/React.createElement("div", {
42
38
  id: id,
43
39
  "data-layout-slot": true,
44
- className: (0, _runtime.ax)([mainElementStyles.root, isFixed && mainElementStyles.fixedContentArea, (0, _platformFeatureFlags.fg)('platform_dst_nav4_layering_in_main_slot_fixes') && mainElementStyles.containPaint, xcss]),
40
+ className: (0, _runtime.ax)([mainElementStyles.root, (0, _platformFeatureFlags.fg)('platform_dst_nav4_layering_in_main_slot_fixes') && mainElementStyles.containPaint, xcss]),
45
41
  role: "main",
46
42
  "data-testid": testId
47
- }, /*#__PURE__*/React.createElement(_mainStickyContext.MainStickyContext.Provider, {
48
- value: Boolean(isFixed)
49
- }, children)));
43
+ }, children));
50
44
  }
@@ -2,10 +2,11 @@
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./expandable-menu-item-trigger.compiled.css";
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
- import React, { forwardRef, useCallback, useRef } from 'react';
5
+ import React, { forwardRef, useCallback, useId, useRef } from 'react';
6
6
  import { IconButton } from '@atlaskit/button/new';
7
7
  import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
8
8
  import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
9
10
  import { MenuItemBase, nestedOpenPopupCSSSelector } from '../menu-item';
10
11
  import { useScrollMenuItemIntoView } from '../use-scroll-menu-item-into-view';
11
12
  import { useIsExpanded, useOnExpansionToggle, useSetIsExpanded } from './expandable-menu-item-context';
@@ -61,6 +62,7 @@ export const ExpandableMenuItemTrigger = /*#__PURE__*/forwardRef(({
61
62
  hasDragIndicator,
62
63
  dropIndicator
63
64
  }, forwardedRef) => {
65
+ const id = useId();
64
66
  const onExpansionToggle = useOnExpansionToggle();
65
67
  const isExpanded = useIsExpanded();
66
68
  const setIsExpanded = useSetIsExpanded();
@@ -91,12 +93,22 @@ export const ExpandableMenuItemTrigger = /*#__PURE__*/forwardRef(({
91
93
  isSelected: isSelected,
92
94
  providedElemBefore: providedElemBefore
93
95
  }),
94
- "aria-expanded": isExpanded,
95
- label: isExpanded ? 'Collapse' : 'Expand',
96
+ "aria-expanded": isExpanded
97
+ // We are labelling the icon button using the containing menu item's content, to provide context to
98
+ // screen readers on what will actually be expanded or collapsed. Screen readers will also use the
99
+ // `aria-expanded` attribute to indicate the expanded state of the menu item.
100
+ // We are not using the `aria-label` attribute here as it is not supported by the `IconButton` component.
101
+ ,
102
+ "aria-labelledby": fg('platform_dst_expandable_menu_item_elembefore_label') ? id : undefined
103
+ // IconButton requires a label prop, however it will not be used by screen readers as we are setting
104
+ // `aria-labelledby`, which will be used instead.
105
+ ,
106
+ label: fg('platform_dst_expandable_menu_item_elembefore_label') ? '' : isExpanded ? 'Collapse' : 'Expand',
96
107
  appearance: "subtle",
97
108
  spacing: "compact",
98
109
  onClick: handleIconClick,
99
- interactionName: interactionName
110
+ interactionName: interactionName,
111
+ testId: testId ? `${testId}--elem-before-button` : undefined
100
112
  }) : /*#__PURE__*/React.createElement(ExpandableMenuItemIcon, {
101
113
  isExpanded: isExpanded,
102
114
  isSelected: isSelected,
@@ -108,6 +120,7 @@ export const ExpandableMenuItemTrigger = /*#__PURE__*/forwardRef(({
108
120
  ref: itemRef,
109
121
  className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore])
110
122
  }, /*#__PURE__*/React.createElement(MenuItemBase, {
123
+ id: id,
111
124
  actions: actions,
112
125
  actionsOnHover: actionsOnHover,
113
126
  elemBefore: elemBefore,
@@ -46,8 +46,8 @@
46
46
  ._4cvr1h6o{align-items:center}
47
47
  ._4t3i1crf{height:9pt}
48
48
  ._4t3i1tcg{height:24px}
49
- ._4t3ickbl{height:3pc}
50
- ._4t3izwfg{height:2pc}
49
+ ._4t3i1wto{height:3rem}
50
+ ._4t3iviql{height:2rem}
51
51
  ._85i51b66{padding-block-end:var(--ds-space-050,4px)}
52
52
  ._85i5v77o{padding-block-end:var(--ds-space-025,2px)}
53
53
  ._91ju1txw{--elem-after-display:flex}
@@ -129,13 +129,13 @@ const onTopOfButtonOrAnchorStyles = {
129
129
  */
130
130
  export const nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
131
131
  const containerStyles = {
132
- root: "_2rkoglpi _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3izwfg _4cvr1h6o _uiztglyw _syaz1gjq _ek6gglyw _1yyu1j28 _91ju1txw _1swv108i _1ojv1txw _irr3108i _1brr1txw _109x1txw",
132
+ root: "_2rkoglpi _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syaz1gjq _ek6gglyw _1yyu1j28 _91ju1txw _1swv108i _1ojv1txw _irr3108i _1brr1txw _109x1txw",
133
133
  removeElemAfter: "_91juglyw",
134
134
  showHoverActions: "_ek6g1txw",
135
135
  removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw _1mfcglyw _1sjuglyw",
136
136
  selected: "_bfhkfg4m _syazaqb7 _1yyu1fvw _1swvi1yw _30l3aqb7 _irr3i1yw",
137
137
  disabled: "_syaz1lh4 _irr3n7od",
138
- hasDescription: "_4t3ickbl",
138
+ hasDescription: "_4t3i1wto",
139
139
  dragging: "_tzy41ou4"
140
140
  };
141
141
  const buttonOrAnchorStyles = {
@@ -206,6 +206,7 @@ function getTextColor({
206
206
  * This can be inferred from the type of the `onClick` prop.
207
207
  */
208
208
  const MenuItemBaseNoRef = ({
209
+ id,
209
210
  testId,
210
211
  actions,
211
212
  actionsOnHover,
@@ -331,6 +332,7 @@ const MenuItemBaseNoRef = ({
331
332
  'aria-controls': ariaControls,
332
333
  'aria-haspopup': ariaHasPopup,
333
334
  ref: mergeRefs([forwardedRef, tooltipProps.ref]),
335
+ id,
334
336
  testId,
335
337
  interactionName
336
338
  };
@@ -42,8 +42,7 @@ function getResizeBounds() {
42
42
  }
43
43
  const styles = {
44
44
  root: "_nd5lns35 _vchhusvi _kqswh2mm _glte1kzp _ndwch9n0",
45
- fixedContentArea: "_1reo1wug _18m91wug _152timx3 _165teqxy _13wn1if8",
46
- fullHeight: "_4t3i1osq"
45
+ inner: "_1reo1wug _18m91wug _152timx3 _4t3i1osq _165teqxy _13wn1if8"
47
46
  };
48
47
 
49
48
  /**
@@ -54,7 +53,6 @@ const styles = {
54
53
  export function Aside({
55
54
  children,
56
55
  xcss,
57
- isFixed: isFixedProp,
58
56
  defaultWidth = 330,
59
57
  label = 'Aside',
60
58
  skipLinkLabel = label,
@@ -65,7 +63,6 @@ export function Aside({
65
63
  const id = useLayoutId({
66
64
  providedId
67
65
  });
68
- const isFixed = fg('platform_dst_nav4_disable_is_fixed_prop') ? true : isFixedProp;
69
66
 
70
67
  /**
71
68
  * Don't show the skip link if the slot has 0 width.
@@ -140,6 +137,6 @@ export function Aside({
140
137
  position: "start"
141
138
  }, /*#__PURE__*/React.createElement("div", {
142
139
  "data-testid": testId ? `${testId}--inner` : undefined,
143
- className: ax([styles.fullHeight, isFixed && styles.fixedContentArea])
140
+ className: ax([styles.inner])
144
141
  }, children)));
145
142
  }
@@ -1,4 +1,3 @@
1
1
  ._152tidpf{inset-block-start:0}
2
- ._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
3
2
  ._1pbykb7n{z-index:1}
4
3
  ._kqsw1if8{position:sticky}
@@ -1,13 +1,9 @@
1
1
  /* main-sticky-header.tsx generated by @compiled/babel-plugin v0.36.1 */
2
2
  import "./main-sticky-header.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
- import React, { useContext } from 'react';
5
- import { MainStickyContext } from './main-sticky-context';
6
- const contentInsetBlockStart = `calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))`;
4
+ import React from 'react';
7
5
  const stickyHeaderStyles = {
8
- root: "_kqsw1if8 _1pbykb7n",
9
- stickyInMain: "_152tidpf",
10
- stickyInBody: "_152timx3"
6
+ root: "_kqsw1if8 _1pbykb7n _152tidpf"
11
7
  };
12
8
 
13
9
  /**
@@ -18,9 +14,8 @@ export function MainStickyHeader({
18
14
  xcss,
19
15
  testId
20
16
  }) {
21
- const isMainFixed = useContext(MainStickyContext);
22
17
  return /*#__PURE__*/React.createElement("div", {
23
18
  "data-testid": testId,
24
- className: ax([stickyHeaderStyles.root, isMainFixed && stickyHeaderStyles.stickyInMain, !isMainFixed && stickyHeaderStyles.stickyInBody, xcss])
19
+ className: ax([stickyHeaderStyles.root, xcss])
25
20
  }, children);
26
21
  }
@@ -4,4 +4,4 @@
4
4
  ._19121cl4{isolation:isolate}
5
5
  ._1reo1wug{overflow-x:auto}
6
6
  ._njlp1t7j{contain:paint}
7
- @media (min-width:64rem){._165teqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}._13wn1if8{position:sticky}._qwfh1wug{isolation:auto}}
7
+ @media (min-width:64rem){._qwfh1wug{isolation:auto}._165teqxy{height:calc(100vh - var(--n_bnrM, 0px) - var(--n_tNvM, 0px))}._13wn1if8{position:sticky}}
@@ -7,10 +7,8 @@ import { fg } from '@atlaskit/platform-feature-flags';
7
7
  import { useSkipLink } from '../../../context/skip-links/skip-links-context';
8
8
  import { contentHeightWhenFixed, contentInsetBlockStart } from '../constants';
9
9
  import { useLayoutId } from '../id-utils';
10
- import { MainStickyContext } from './main-sticky-context';
11
10
  const mainElementStyles = {
12
- root: "_nd5l1gzg _19121cl4 _qwfh1wug",
13
- fixedContentArea: "_1reo1wug _18m91wug _152timx3 _165teqxy _13wn1if8",
11
+ root: "_nd5l1gzg _1reo1wug _18m91wug _19121cl4 _152timx3 _qwfh1wug _165teqxy _13wn1if8",
14
12
  containPaint: "_njlp1t7j"
15
13
  };
16
14
 
@@ -19,7 +17,6 @@ const mainElementStyles = {
19
17
  */
20
18
  export function Main({
21
19
  children,
22
- isFixed: isFixedProp,
23
20
  xcss,
24
21
  skipLinkLabel = 'Main Content',
25
22
  testId,
@@ -28,15 +25,12 @@ export function Main({
28
25
  const id = useLayoutId({
29
26
  providedId
30
27
  });
31
- const isFixed = fg('platform_dst_nav4_disable_is_fixed_prop') ? true : isFixedProp;
32
28
  useSkipLink(id, skipLinkLabel);
33
29
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
34
30
  id: id,
35
31
  "data-layout-slot": true,
36
- className: ax([mainElementStyles.root, isFixed && mainElementStyles.fixedContentArea, fg('platform_dst_nav4_layering_in_main_slot_fixes') && mainElementStyles.containPaint, xcss]),
32
+ className: ax([mainElementStyles.root, fg('platform_dst_nav4_layering_in_main_slot_fixes') && mainElementStyles.containPaint, xcss]),
37
33
  role: "main",
38
34
  "data-testid": testId
39
- }, /*#__PURE__*/React.createElement(MainStickyContext.Provider, {
40
- value: Boolean(isFixed)
41
- }, children)));
35
+ }, children));
42
36
  }
@@ -2,10 +2,11 @@
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import "./expandable-menu-item-trigger.compiled.css";
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
- import React, { forwardRef, useCallback, useRef } from 'react';
5
+ import React, { forwardRef, useCallback, useId, useRef } from 'react';
6
6
  import { IconButton } from '@atlaskit/button/new';
7
7
  import ChevronDownIcon from '@atlaskit/icon/core/chevron-down';
8
8
  import ChevronRightIcon from '@atlaskit/icon/core/chevron-right';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
9
10
  import { MenuItemBase, nestedOpenPopupCSSSelector } from '../menu-item';
10
11
  import { useScrollMenuItemIntoView } from '../use-scroll-menu-item-into-view';
11
12
  import { useIsExpanded, useOnExpansionToggle, useSetIsExpanded } from './expandable-menu-item-context';
@@ -59,6 +60,7 @@ export var ExpandableMenuItemTrigger = /*#__PURE__*/forwardRef(function (_ref2,
59
60
  isDragging = _ref2.isDragging,
60
61
  hasDragIndicator = _ref2.hasDragIndicator,
61
62
  dropIndicator = _ref2.dropIndicator;
63
+ var id = useId();
62
64
  var onExpansionToggle = useOnExpansionToggle();
63
65
  var isExpanded = useIsExpanded();
64
66
  var setIsExpanded = useSetIsExpanded();
@@ -91,12 +93,22 @@ export var ExpandableMenuItemTrigger = /*#__PURE__*/forwardRef(function (_ref2,
91
93
  providedElemBefore: providedElemBefore
92
94
  });
93
95
  },
94
- "aria-expanded": isExpanded,
95
- label: isExpanded ? 'Collapse' : 'Expand',
96
+ "aria-expanded": isExpanded
97
+ // We are labelling the icon button using the containing menu item's content, to provide context to
98
+ // screen readers on what will actually be expanded or collapsed. Screen readers will also use the
99
+ // `aria-expanded` attribute to indicate the expanded state of the menu item.
100
+ // We are not using the `aria-label` attribute here as it is not supported by the `IconButton` component.
101
+ ,
102
+ "aria-labelledby": fg('platform_dst_expandable_menu_item_elembefore_label') ? id : undefined
103
+ // IconButton requires a label prop, however it will not be used by screen readers as we are setting
104
+ // `aria-labelledby`, which will be used instead.
105
+ ,
106
+ label: fg('platform_dst_expandable_menu_item_elembefore_label') ? '' : isExpanded ? 'Collapse' : 'Expand',
96
107
  appearance: "subtle",
97
108
  spacing: "compact",
98
109
  onClick: handleIconClick,
99
- interactionName: interactionName
110
+ interactionName: interactionName,
111
+ testId: testId ? "".concat(testId, "--elem-before-button") : undefined
100
112
  }) : /*#__PURE__*/React.createElement(ExpandableMenuItemIcon, {
101
113
  isExpanded: isExpanded,
102
114
  isSelected: isSelected,
@@ -108,6 +120,7 @@ export var ExpandableMenuItemTrigger = /*#__PURE__*/forwardRef(function (_ref2,
108
120
  ref: itemRef,
109
121
  className: ax([wrapperStyles.root, providedElemBefore && wrapperStyles.showProvidedElemBefore])
110
122
  }, /*#__PURE__*/React.createElement(MenuItemBase, {
123
+ id: id,
111
124
  actions: actions,
112
125
  actionsOnHover: actionsOnHover,
113
126
  elemBefore: elemBefore,
@@ -46,8 +46,8 @@
46
46
  ._4cvr1h6o{align-items:center}
47
47
  ._4t3i1crf{height:9pt}
48
48
  ._4t3i1tcg{height:24px}
49
- ._4t3ickbl{height:3pc}
50
- ._4t3izwfg{height:2pc}
49
+ ._4t3i1wto{height:3rem}
50
+ ._4t3iviql{height:2rem}
51
51
  ._85i51b66{padding-block-end:var(--ds-space-050,4px)}
52
52
  ._85i5v77o{padding-block-end:var(--ds-space-025,2px)}
53
53
  ._91ju1txw{--elem-after-display:flex}
@@ -135,13 +135,13 @@ var onTopOfButtonOrAnchorStyles = {
135
135
  */
136
136
  export var nestedOpenPopupCSSSelector = '&:has([aria-expanded="true"][aria-haspopup="true"])';
137
137
  var containerStyles = {
138
- root: "_2rkoglpi _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3izwfg _4cvr1h6o _uiztglyw _syaz1gjq _ek6gglyw _1yyu1j28 _91ju1txw _1swv108i _1ojv1txw _irr3108i _1brr1txw _109x1txw",
138
+ root: "_2rkoglpi _vchhusvi _1e0c11p5 _yv0e7dup _2z05hkll _1lmcu4vt _1ul9t9kd _4t3iviql _4cvr1h6o _uiztglyw _syaz1gjq _ek6gglyw _1yyu1j28 _91ju1txw _1swv108i _1ojv1txw _irr3108i _1brr1txw _109x1txw",
139
139
  removeElemAfter: "_91juglyw",
140
140
  showHoverActions: "_ek6g1txw",
141
141
  removeElemAfterOnHoverOrOpenNestedPopup: "_1djyglyw _1mfcglyw _1sjuglyw",
142
142
  selected: "_bfhkfg4m _syazaqb7 _1yyu1fvw _1swvi1yw _30l3aqb7 _irr3i1yw",
143
143
  disabled: "_syaz1lh4 _irr3n7od",
144
- hasDescription: "_4t3ickbl",
144
+ hasDescription: "_4t3i1wto",
145
145
  dragging: "_tzy41ou4"
146
146
  };
147
147
  var buttonOrAnchorStyles = {
@@ -211,7 +211,8 @@ function getTextColor(_ref2) {
211
211
  * This can be inferred from the type of the `onClick` prop.
212
212
  */
213
213
  var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref3, forwardedRef) {
214
- var testId = _ref3.testId,
214
+ var id = _ref3.id,
215
+ testId = _ref3.testId,
215
216
  actions = _ref3.actions,
216
217
  actionsOnHover = _ref3.actionsOnHover,
217
218
  children = _ref3.children,
@@ -336,6 +337,7 @@ var MenuItemBaseNoRef = function MenuItemBaseNoRef(_ref3, forwardedRef) {
336
337
  'aria-controls': ariaControls,
337
338
  'aria-haspopup': ariaHasPopup,
338
339
  ref: mergeRefs([forwardedRef, tooltipProps.ref]),
340
+ id: id,
339
341
  testId: testId,
340
342
  interactionName: interactionName
341
343
  });
@@ -44,8 +44,7 @@ function getResizeBounds() {
44
44
  }
45
45
  var styles = {
46
46
  root: "_nd5lns35 _vchhusvi _kqswh2mm _glte1kzp _ndwch9n0",
47
- fixedContentArea: "_1reo1wug _18m91wug _152timx3 _165teqxy _13wn1if8",
48
- fullHeight: "_4t3i1osq"
47
+ inner: "_1reo1wug _18m91wug _152timx3 _4t3i1osq _165teqxy _13wn1if8"
49
48
  };
50
49
 
51
50
  /**
@@ -56,7 +55,6 @@ var styles = {
56
55
  export function Aside(_ref) {
57
56
  var children = _ref.children,
58
57
  xcss = _ref.xcss,
59
- isFixedProp = _ref.isFixed,
60
58
  _ref$defaultWidth = _ref.defaultWidth,
61
59
  defaultWidth = _ref$defaultWidth === void 0 ? 330 : _ref$defaultWidth,
62
60
  _ref$label = _ref.label,
@@ -69,7 +67,6 @@ export function Aside(_ref) {
69
67
  var id = useLayoutId({
70
68
  providedId: providedId
71
69
  });
72
- var isFixed = fg('platform_dst_nav4_disable_is_fixed_prop') ? true : isFixedProp;
73
70
 
74
71
  /**
75
72
  * Don't show the skip link if the slot has 0 width.
@@ -145,6 +142,6 @@ export function Aside(_ref) {
145
142
  position: "start"
146
143
  }, /*#__PURE__*/React.createElement("div", {
147
144
  "data-testid": testId ? "".concat(testId, "--inner") : undefined,
148
- className: ax([styles.fullHeight, isFixed && styles.fixedContentArea])
145
+ className: ax([styles.inner])
149
146
  }, children)));
150
147
  }
@@ -1,4 +1,3 @@
1
1
  ._152tidpf{inset-block-start:0}
2
- ._152timx3{inset-block-start:calc(var(--n_bnrM, 0px) + var(--n_tNvM, 0px))}
3
2
  ._1pbykb7n{z-index:1}
4
3
  ._kqsw1if8{position:sticky}