@atlaskit/navigation-system 7.3.0 → 8.1.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 (359) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/constellation/layout/custom-theming.mdx +1 -1
  3. package/dist/cjs/components/skip-links/skip-link.compiled.css +2 -1
  4. package/dist/cjs/components/skip-links/skip-link.js +4 -2
  5. package/dist/cjs/components/skip-links/skip-links-container.compiled.css +7 -2
  6. package/dist/cjs/components/skip-links/skip-links-container.js +14 -6
  7. package/dist/cjs/context/skip-links/skip-links-context.js +2 -54
  8. package/dist/cjs/context/skip-links/use-skip-link-internal.js +45 -0
  9. package/dist/cjs/context/skip-links/use-skip-link.js +17 -0
  10. package/dist/cjs/context/top-nav-start/top-nav-start-attach-ref.js +10 -0
  11. package/dist/cjs/context/top-nav-start/top-nav-start-context-provider.js +4 -3
  12. package/dist/cjs/context/top-nav-start/top-nav-start-element.js +8 -0
  13. package/dist/cjs/entry-points/experimental/top-nav-button.js +8 -5
  14. package/dist/cjs/entry-points/layout/skip-links.js +4 -4
  15. package/dist/cjs/ui/page-layout/aside.js +10 -7
  16. package/dist/cjs/ui/page-layout/banner.js +12 -8
  17. package/dist/cjs/ui/page-layout/{hoist-utils.js → dangerously-hoist-css-var-to-document-root.js} +6 -25
  18. package/dist/cjs/ui/page-layout/hoist-css-var-to-local-grid.js +22 -0
  19. package/dist/cjs/ui/page-layout/main/main.js +6 -5
  20. package/dist/cjs/ui/page-layout/panel-splitter/get-pixel-width.js +13 -0
  21. package/dist/cjs/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js} +1 -12
  22. package/dist/cjs/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.js +10 -0
  23. package/dist/cjs/ui/page-layout/panel-splitter/{context.js → on-double-click-context.js} +1 -9
  24. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter-context.js +14 -0
  25. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.js +7 -0
  26. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +17 -19
  27. package/dist/cjs/ui/page-layout/panel-splitter/provider.js +2 -2
  28. package/dist/cjs/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +4 -3
  29. package/dist/cjs/ui/page-layout/panel.js +12 -9
  30. package/dist/cjs/ui/page-layout/ribbon.js +4 -4
  31. package/dist/cjs/ui/page-layout/root.js +7 -6
  32. package/dist/cjs/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.js +3 -25
  33. package/dist/cjs/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.js +16 -0
  34. package/dist/cjs/ui/page-layout/side-nav/set-side-nav-visibility-state.js +10 -0
  35. package/dist/cjs/ui/page-layout/side-nav/{element-context.js → side-nav-element-provider.js} +2 -14
  36. package/dist/cjs/ui/page-layout/side-nav/side-nav-ref-context.js +10 -0
  37. package/dist/cjs/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.js +10 -0
  38. package/dist/cjs/ui/page-layout/side-nav/side-nav-toggle-button-element.js +12 -0
  39. package/dist/cjs/ui/page-layout/side-nav/side-nav-visibility-state.js +12 -0
  40. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +19 -18
  41. package/dist/cjs/ui/page-layout/side-nav/toggle-button-provider.js +4 -3
  42. package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +8 -8
  43. package/dist/cjs/ui/page-layout/side-nav/use-expand-side-nav.js +2 -2
  44. package/dist/cjs/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.js +15 -0
  45. package/dist/cjs/ui/page-layout/side-nav/use-side-nav-ref.js +16 -0
  46. package/dist/cjs/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +2 -2
  47. package/dist/cjs/ui/page-layout/side-nav/use-side-nav-visibility.js +2 -2
  48. package/dist/cjs/ui/page-layout/side-nav/use-toggle-side-nav.js +2 -2
  49. package/dist/cjs/ui/page-layout/side-nav/visibility-provider.js +4 -3
  50. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +2 -2
  51. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +5 -5
  52. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +25 -15
  53. package/dist/cjs/ui/page-layout/{id-utils.js → use-layout-id.js} +2 -14
  54. package/dist/cjs/ui/page-layout/use-resizing-width-css-var-on-root-element.js +2 -2
  55. package/dist/cjs/ui/page-layout/use-skip-link-id.js +17 -0
  56. package/dist/cjs/ui/top-nav-items/app-switcher.js +2 -2
  57. package/dist/cjs/ui/top-nav-items/chat-button.js +2 -2
  58. package/dist/cjs/ui/top-nav-items/create-button.js +2 -2
  59. package/dist/cjs/ui/top-nav-items/end-item.js +2 -2
  60. package/dist/cjs/ui/top-nav-items/log-in.js +2 -2
  61. package/dist/cjs/ui/top-nav-items/search.js +2 -2
  62. package/dist/cjs/ui/top-nav-items/themed/button.js +12 -358
  63. package/dist/cjs/ui/top-nav-items/themed/get-custom-theme-styles.js +10 -10
  64. package/dist/cjs/ui/top-nav-items/themed/get-primitives-spread-props.js +39 -0
  65. package/dist/cjs/ui/top-nav-items/themed/icon-button.js +21 -0
  66. package/dist/cjs/ui/top-nav-items/themed/link-button.js +21 -0
  67. package/dist/cjs/ui/top-nav-items/themed/link-icon-button.js +21 -0
  68. package/dist/cjs/ui/top-nav-items/themed/palette-rgba.js +20 -0
  69. package/dist/cjs/ui/top-nav-items/themed/palette.js +1 -21
  70. package/dist/cjs/ui/top-nav-items/themed/search.js +1 -2
  71. package/dist/cjs/ui/top-nav-items/themed/{button.compiled.css → themed-anchor.compiled.css} +0 -1
  72. package/dist/cjs/ui/top-nav-items/themed/themed-anchor.js +76 -0
  73. package/dist/cjs/ui/top-nav-items/themed/themed-button.compiled.css +2 -0
  74. package/dist/cjs/ui/top-nav-items/themed/themed-button.js +40 -0
  75. package/dist/cjs/ui/top-nav-items/themed/themed-icon-button.js +85 -0
  76. package/dist/cjs/ui/top-nav-items/themed/themed-link-button.compiled.css +2 -0
  77. package/dist/cjs/ui/top-nav-items/themed/themed-link-button.js +45 -0
  78. package/dist/cjs/ui/top-nav-items/themed/themed-link-icon-button.js +83 -0
  79. package/dist/{esm/ui/top-nav-items/themed/button.compiled.css → cjs/ui/top-nav-items/themed/themed-pressable.compiled.css} +0 -1
  80. package/dist/cjs/ui/top-nav-items/themed/themed-pressable.js +64 -0
  81. package/dist/cjs/ui/top-nav-items/themed/types.js +5 -0
  82. package/dist/cjs/ui/top-nav-items/themed/use-custom-theme-new.js +53 -0
  83. package/dist/cjs/ui/top-nav-items/themed/use-custom-theme.js +0 -41
  84. package/dist/es2019/components/skip-links/skip-link.compiled.css +2 -1
  85. package/dist/es2019/components/skip-links/skip-link.js +4 -2
  86. package/dist/es2019/components/skip-links/skip-links-container.compiled.css +7 -2
  87. package/dist/es2019/components/skip-links/skip-links-container.js +14 -6
  88. package/dist/es2019/context/skip-links/skip-links-context.js +2 -54
  89. package/dist/es2019/context/skip-links/use-skip-link-internal.js +41 -0
  90. package/dist/es2019/context/skip-links/use-skip-link.js +12 -0
  91. package/dist/es2019/context/top-nav-start/top-nav-start-attach-ref.js +3 -0
  92. package/dist/es2019/context/top-nav-start/top-nav-start-context-provider.js +2 -1
  93. package/dist/es2019/context/top-nav-start/top-nav-start-element.js +2 -0
  94. package/dist/es2019/entry-points/experimental/top-nav-button.js +4 -1
  95. package/dist/es2019/entry-points/layout/skip-links.js +2 -2
  96. package/dist/es2019/ui/page-layout/aside.js +7 -4
  97. package/dist/es2019/ui/page-layout/banner.js +8 -4
  98. package/dist/es2019/ui/page-layout/{hoist-utils.js → dangerously-hoist-css-var-to-document-root.js} +0 -19
  99. package/dist/es2019/ui/page-layout/hoist-css-var-to-local-grid.js +15 -0
  100. package/dist/es2019/ui/page-layout/main/main.js +4 -3
  101. package/dist/es2019/ui/page-layout/panel-splitter/get-pixel-width.js +7 -0
  102. package/dist/es2019/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js} +0 -11
  103. package/dist/es2019/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.js +4 -0
  104. package/dist/es2019/ui/page-layout/panel-splitter/{context.js → on-double-click-context.js} +0 -8
  105. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter-context.js +9 -0
  106. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.js +1 -0
  107. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +12 -13
  108. package/dist/es2019/ui/page-layout/panel-splitter/provider.js +1 -1
  109. package/dist/es2019/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +2 -1
  110. package/dist/es2019/ui/page-layout/panel.js +8 -5
  111. package/dist/es2019/ui/page-layout/ribbon.js +2 -2
  112. package/dist/es2019/ui/page-layout/root.js +6 -4
  113. package/dist/es2019/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.js +2 -22
  114. package/dist/es2019/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.js +10 -0
  115. package/dist/es2019/ui/page-layout/side-nav/set-side-nav-visibility-state.js +3 -0
  116. package/dist/es2019/ui/page-layout/side-nav/side-nav-element-provider.js +10 -0
  117. package/dist/es2019/ui/page-layout/side-nav/side-nav-ref-context.js +4 -0
  118. package/dist/es2019/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.js +3 -0
  119. package/dist/es2019/ui/page-layout/side-nav/side-nav-toggle-button-element.js +7 -0
  120. package/dist/es2019/ui/page-layout/side-nav/{visibility-context.js → side-nav-visibility-state.js} +1 -7
  121. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +9 -8
  122. package/dist/es2019/ui/page-layout/side-nav/toggle-button-provider.js +2 -1
  123. package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +4 -4
  124. package/dist/es2019/ui/page-layout/side-nav/use-expand-side-nav.js +1 -1
  125. package/dist/es2019/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.js +10 -0
  126. package/dist/es2019/ui/page-layout/side-nav/use-side-nav-ref.js +11 -0
  127. package/dist/es2019/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +1 -1
  128. package/dist/es2019/ui/page-layout/side-nav/use-side-nav-visibility.js +1 -1
  129. package/dist/es2019/ui/page-layout/side-nav/use-toggle-side-nav.js +1 -1
  130. package/dist/es2019/ui/page-layout/side-nav/visibility-provider.js +2 -2
  131. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +1 -1
  132. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +2 -2
  133. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +21 -10
  134. package/dist/es2019/ui/page-layout/use-layout-id.js +15 -0
  135. package/dist/es2019/ui/page-layout/use-resizing-width-css-var-on-root-element.js +1 -1
  136. package/dist/es2019/ui/page-layout/{id-utils.js → use-skip-link-id.js} +0 -14
  137. package/dist/es2019/ui/top-nav-items/app-switcher.js +1 -1
  138. package/dist/es2019/ui/top-nav-items/chat-button.js +1 -1
  139. package/dist/es2019/ui/top-nav-items/create-button.js +1 -1
  140. package/dist/es2019/ui/top-nav-items/end-item.js +1 -1
  141. package/dist/es2019/ui/top-nav-items/log-in.js +1 -1
  142. package/dist/es2019/ui/top-nav-items/search.js +1 -1
  143. package/dist/es2019/ui/top-nav-items/themed/button.js +11 -347
  144. package/dist/es2019/ui/top-nav-items/themed/get-custom-theme-styles.js +28 -28
  145. package/dist/es2019/ui/top-nav-items/themed/get-primitives-spread-props.js +31 -0
  146. package/dist/es2019/ui/top-nav-items/themed/icon-button.js +12 -0
  147. package/dist/es2019/ui/top-nav-items/themed/link-button.js +12 -0
  148. package/dist/es2019/ui/top-nav-items/themed/link-icon-button.js +12 -0
  149. package/dist/es2019/ui/top-nav-items/themed/palette-rgba.js +14 -0
  150. package/dist/es2019/ui/top-nav-items/themed/palette.js +0 -20
  151. package/dist/es2019/ui/top-nav-items/themed/search.js +1 -2
  152. package/dist/es2019/ui/top-nav-items/themed/{button.compiled.css → themed-anchor.compiled.css} +0 -1
  153. package/dist/es2019/ui/top-nav-items/themed/themed-anchor.js +66 -0
  154. package/dist/es2019/ui/top-nav-items/themed/themed-button.compiled.css +2 -0
  155. package/dist/es2019/ui/top-nav-items/themed/themed-button.js +30 -0
  156. package/dist/es2019/ui/top-nav-items/themed/themed-icon-button.js +72 -0
  157. package/dist/es2019/ui/top-nav-items/themed/themed-link-button.compiled.css +2 -0
  158. package/dist/es2019/ui/top-nav-items/themed/themed-link-button.js +37 -0
  159. package/dist/es2019/ui/top-nav-items/themed/themed-link-icon-button.js +73 -0
  160. package/dist/es2019/ui/top-nav-items/themed/themed-pressable.compiled.css +68 -0
  161. package/dist/es2019/ui/top-nav-items/themed/themed-pressable.js +52 -0
  162. package/dist/es2019/ui/top-nav-items/themed/types.js +1 -0
  163. package/dist/es2019/ui/top-nav-items/themed/use-custom-theme-new.js +45 -0
  164. package/dist/es2019/ui/top-nav-items/themed/use-custom-theme.js +0 -38
  165. package/dist/esm/components/skip-links/skip-link.compiled.css +2 -1
  166. package/dist/esm/components/skip-links/skip-link.js +4 -2
  167. package/dist/esm/components/skip-links/skip-links-container.compiled.css +7 -2
  168. package/dist/esm/components/skip-links/skip-links-container.js +14 -6
  169. package/dist/esm/context/skip-links/skip-links-context.js +2 -54
  170. package/dist/esm/context/skip-links/use-skip-link-internal.js +39 -0
  171. package/dist/esm/context/skip-links/use-skip-link.js +12 -0
  172. package/dist/esm/context/top-nav-start/top-nav-start-attach-ref.js +3 -0
  173. package/dist/esm/context/top-nav-start/top-nav-start-context-provider.js +2 -1
  174. package/dist/esm/context/top-nav-start/top-nav-start-element.js +2 -0
  175. package/dist/esm/entry-points/experimental/top-nav-button.js +4 -1
  176. package/dist/esm/entry-points/layout/skip-links.js +2 -2
  177. package/dist/esm/ui/page-layout/aside.js +7 -4
  178. package/dist/esm/ui/page-layout/banner.js +8 -4
  179. package/dist/esm/ui/page-layout/dangerously-hoist-css-var-to-document-root.js +31 -0
  180. package/dist/esm/ui/page-layout/hoist-css-var-to-local-grid.js +16 -0
  181. package/dist/esm/ui/page-layout/main/main.js +4 -3
  182. package/dist/esm/ui/page-layout/panel-splitter/get-pixel-width.js +7 -0
  183. package/dist/esm/ui/page-layout/panel-splitter/{get-width.js → get-width-from-drag-location.js} +0 -11
  184. package/dist/esm/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.js +4 -0
  185. package/dist/esm/ui/page-layout/panel-splitter/{context.js → on-double-click-context.js} +0 -8
  186. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter-context.js +9 -0
  187. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.js +1 -0
  188. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +9 -10
  189. package/dist/esm/ui/page-layout/panel-splitter/provider.js +1 -1
  190. package/dist/esm/ui/page-layout/panel-splitter/side-nav-panel-splitter.js +2 -1
  191. package/dist/esm/ui/page-layout/panel.js +8 -5
  192. package/dist/esm/ui/page-layout/ribbon.js +2 -2
  193. package/dist/esm/ui/page-layout/root.js +6 -5
  194. package/dist/esm/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.js +2 -21
  195. package/dist/esm/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.js +9 -0
  196. package/dist/esm/ui/page-layout/side-nav/set-side-nav-visibility-state.js +3 -0
  197. package/dist/esm/ui/page-layout/side-nav/side-nav-element-provider.js +9 -0
  198. package/dist/esm/ui/page-layout/side-nav/side-nav-ref-context.js +4 -0
  199. package/dist/esm/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.js +3 -0
  200. package/dist/esm/ui/page-layout/side-nav/side-nav-toggle-button-element.js +7 -0
  201. package/dist/esm/ui/page-layout/side-nav/{visibility-context.js → side-nav-visibility-state.js} +1 -7
  202. package/dist/esm/ui/page-layout/side-nav/side-nav.js +9 -8
  203. package/dist/esm/ui/page-layout/side-nav/toggle-button-provider.js +2 -1
  204. package/dist/esm/ui/page-layout/side-nav/toggle-button.js +4 -4
  205. package/dist/esm/ui/page-layout/side-nav/use-expand-side-nav.js +1 -1
  206. package/dist/esm/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.js +10 -0
  207. package/dist/esm/ui/page-layout/side-nav/use-side-nav-ref.js +11 -0
  208. package/dist/esm/ui/page-layout/side-nav/use-side-nav-toggle-keyboard-shortcut.js +1 -1
  209. package/dist/esm/ui/page-layout/side-nav/use-side-nav-visibility.js +1 -1
  210. package/dist/esm/ui/page-layout/side-nav/use-toggle-side-nav.js +1 -1
  211. package/dist/esm/ui/page-layout/side-nav/visibility-provider.js +2 -2
  212. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +1 -1
  213. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +2 -2
  214. package/dist/esm/ui/page-layout/top-nav/top-nav.js +21 -10
  215. package/dist/esm/ui/page-layout/{id-utils.js → use-layout-id.js} +1 -12
  216. package/dist/esm/ui/page-layout/use-resizing-width-css-var-on-root-element.js +1 -1
  217. package/dist/esm/ui/page-layout/use-skip-link-id.js +12 -0
  218. package/dist/esm/ui/top-nav-items/app-switcher.js +1 -1
  219. package/dist/esm/ui/top-nav-items/chat-button.js +1 -1
  220. package/dist/esm/ui/top-nav-items/create-button.js +1 -1
  221. package/dist/esm/ui/top-nav-items/end-item.js +1 -1
  222. package/dist/esm/ui/top-nav-items/log-in.js +1 -1
  223. package/dist/esm/ui/top-nav-items/search.js +1 -1
  224. package/dist/esm/ui/top-nav-items/themed/button.js +11 -358
  225. package/dist/esm/ui/top-nav-items/themed/get-custom-theme-styles.js +9 -9
  226. package/dist/esm/ui/top-nav-items/themed/get-primitives-spread-props.js +32 -0
  227. package/dist/esm/ui/top-nav-items/themed/icon-button.js +12 -0
  228. package/dist/esm/ui/top-nav-items/themed/link-button.js +12 -0
  229. package/dist/esm/ui/top-nav-items/themed/link-icon-button.js +12 -0
  230. package/dist/esm/ui/top-nav-items/themed/palette-rgba.js +14 -0
  231. package/dist/esm/ui/top-nav-items/themed/palette.js +0 -20
  232. package/dist/esm/ui/top-nav-items/themed/search.js +1 -2
  233. package/dist/esm/ui/top-nav-items/themed/themed-anchor.compiled.css +68 -0
  234. package/dist/esm/ui/top-nav-items/themed/themed-anchor.js +69 -0
  235. package/dist/esm/ui/top-nav-items/themed/themed-button.compiled.css +2 -0
  236. package/dist/esm/ui/top-nav-items/themed/themed-button.js +31 -0
  237. package/dist/esm/ui/top-nav-items/themed/themed-icon-button.js +76 -0
  238. package/dist/esm/ui/top-nav-items/themed/themed-link-button.compiled.css +2 -0
  239. package/dist/esm/ui/top-nav-items/themed/themed-link-button.js +38 -0
  240. package/dist/esm/ui/top-nav-items/themed/themed-link-icon-button.js +77 -0
  241. package/dist/esm/ui/top-nav-items/themed/themed-pressable.compiled.css +68 -0
  242. package/dist/esm/ui/top-nav-items/themed/themed-pressable.js +55 -0
  243. package/dist/esm/ui/top-nav-items/themed/types.js +1 -0
  244. package/dist/esm/ui/top-nav-items/themed/use-custom-theme-new.js +46 -0
  245. package/dist/esm/ui/top-nav-items/themed/use-custom-theme.js +0 -39
  246. package/dist/types/context/skip-links/skip-links-context.d.ts +0 -27
  247. package/dist/types/context/skip-links/use-skip-link-internal.d.ts +10 -0
  248. package/dist/types/context/skip-links/use-skip-link.d.ts +18 -0
  249. package/dist/types/context/top-nav-start/top-nav-start-attach-ref.d.ts +1 -0
  250. package/dist/types/context/top-nav-start/top-nav-start-element.d.ts +1 -0
  251. package/dist/types/entry-points/experimental/top-nav-button.d.ts +4 -1
  252. package/dist/types/entry-points/layout/skip-links.d.ts +2 -2
  253. package/dist/types/ui/page-layout/dangerously-hoist-css-var-to-document-root.d.ts +8 -0
  254. package/dist/{types-ts4.5/ui/page-layout/hoist-utils.d.ts → types/ui/page-layout/hoist-css-var-to-local-grid.d.ts} +0 -11
  255. package/dist/types/ui/page-layout/panel-splitter/get-pixel-width.d.ts +4 -0
  256. package/dist/types/ui/page-layout/panel-splitter/get-width-from-drag-location.d.ts +8 -0
  257. package/dist/types/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.d.ts +9 -0
  258. package/dist/types/ui/page-layout/panel-splitter/on-double-click-context.d.ts +8 -0
  259. package/dist/{types-ts4.5/ui/page-layout/panel-splitter/context.d.ts → types/ui/page-layout/panel-splitter/panel-splitter-context.d.ts} +0 -8
  260. package/dist/types/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.d.ts +1 -0
  261. package/dist/types/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -10
  262. package/dist/types/ui/page-layout/panel-splitter/provider.d.ts +1 -1
  263. package/dist/types/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.d.ts +6 -11
  264. package/dist/types/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.d.ts +5 -0
  265. package/dist/types/ui/page-layout/side-nav/set-side-nav-visibility-state.d.ts +3 -0
  266. package/dist/types/ui/page-layout/side-nav/side-nav-element-provider.d.ts +4 -0
  267. package/dist/types/ui/page-layout/side-nav/side-nav-ref-context.d.ts +2 -0
  268. package/dist/types/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.d.ts +1 -0
  269. package/dist/types/ui/page-layout/side-nav/side-nav-toggle-button-element.d.ts +5 -0
  270. package/dist/{types-ts4.5/ui/page-layout/side-nav/visibility-context.d.ts → types/ui/page-layout/side-nav/side-nav-visibility-state.d.ts} +0 -5
  271. package/dist/types/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.d.ts +5 -0
  272. package/dist/{types-ts4.5/ui/page-layout/side-nav/element-context.d.ts → types/ui/page-layout/side-nav/use-side-nav-ref.d.ts} +1 -4
  273. package/dist/types/ui/page-layout/top-nav/top-nav.d.ts +3 -4
  274. package/dist/{types-ts4.5/ui/page-layout/id-utils.d.ts → types/ui/page-layout/use-layout-id.d.ts} +0 -5
  275. package/dist/types/ui/page-layout/use-skip-link-id.d.ts +5 -0
  276. package/dist/types/ui/top-nav-items/themed/button.d.ts +5 -126
  277. package/dist/types/ui/top-nav-items/themed/get-primitives-spread-props.d.ts +16 -0
  278. package/dist/types/ui/top-nav-items/themed/icon-button.d.ts +7 -0
  279. package/dist/types/ui/top-nav-items/themed/link-button.d.ts +3 -0
  280. package/dist/types/ui/top-nav-items/themed/link-icon-button.d.ts +7 -0
  281. package/dist/types/ui/top-nav-items/themed/palette-rgba.d.ts +14 -0
  282. package/dist/types/ui/top-nav-items/themed/palette.d.ts +0 -20
  283. package/dist/types/ui/top-nav-items/themed/themed-anchor.d.ts +32 -0
  284. package/dist/types/ui/top-nav-items/themed/themed-button.d.ts +10 -0
  285. package/dist/types/ui/top-nav-items/themed/themed-icon-button.d.ts +10 -0
  286. package/dist/types/ui/top-nav-items/themed/themed-link-button.d.ts +16 -0
  287. package/dist/types/ui/top-nav-items/themed/themed-link-icon-button.d.ts +13 -0
  288. package/dist/types/ui/top-nav-items/themed/themed-pressable.d.ts +18 -0
  289. package/dist/types/ui/top-nav-items/themed/types.d.ts +54 -0
  290. package/dist/types/ui/top-nav-items/themed/use-custom-theme-new.d.ts +20 -0
  291. package/dist/types/ui/top-nav-items/themed/use-custom-theme.d.ts +0 -11
  292. package/dist/types-ts4.5/context/skip-links/skip-links-context.d.ts +0 -27
  293. package/dist/types-ts4.5/context/skip-links/use-skip-link-internal.d.ts +10 -0
  294. package/dist/types-ts4.5/context/skip-links/use-skip-link.d.ts +18 -0
  295. package/dist/types-ts4.5/context/top-nav-start/top-nav-start-attach-ref.d.ts +1 -0
  296. package/dist/types-ts4.5/context/top-nav-start/top-nav-start-element.d.ts +1 -0
  297. package/dist/types-ts4.5/entry-points/experimental/top-nav-button.d.ts +4 -1
  298. package/dist/types-ts4.5/entry-points/layout/skip-links.d.ts +2 -2
  299. package/dist/types-ts4.5/ui/page-layout/dangerously-hoist-css-var-to-document-root.d.ts +8 -0
  300. package/dist/{types/ui/page-layout/hoist-utils.d.ts → types-ts4.5/ui/page-layout/hoist-css-var-to-local-grid.d.ts} +0 -11
  301. package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-pixel-width.d.ts +4 -0
  302. package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-width-from-drag-location.d.ts +8 -0
  303. package/dist/types-ts4.5/ui/page-layout/panel-splitter/is-panel-splitter-drag-data.d.ts +9 -0
  304. package/dist/types-ts4.5/ui/page-layout/panel-splitter/on-double-click-context.d.ts +8 -0
  305. package/dist/{types/ui/page-layout/panel-splitter/context.d.ts → types-ts4.5/ui/page-layout/panel-splitter/panel-splitter-context.d.ts} +0 -8
  306. package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter-drag-symbol.d.ts +1 -0
  307. package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter.d.ts +1 -10
  308. package/dist/types-ts4.5/ui/page-layout/panel-splitter/provider.d.ts +1 -1
  309. package/dist/types-ts4.5/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-context.d.ts +6 -11
  310. package/dist/types-ts4.5/ui/page-layout/side-nav/is-side-nav-shortcut-enabled-provider.d.ts +5 -0
  311. package/dist/types-ts4.5/ui/page-layout/side-nav/set-side-nav-visibility-state.d.ts +3 -0
  312. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-element-provider.d.ts +4 -0
  313. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-ref-context.d.ts +2 -0
  314. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-toggle-button-attach-ref.d.ts +1 -0
  315. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-toggle-button-element.d.ts +5 -0
  316. package/dist/{types/ui/page-layout/side-nav/visibility-context.d.ts → types-ts4.5/ui/page-layout/side-nav/side-nav-visibility-state.d.ts} +0 -5
  317. package/dist/types-ts4.5/ui/page-layout/side-nav/use-is-side-nav-shortcut-enabled.d.ts +5 -0
  318. package/dist/{types/ui/page-layout/side-nav/element-context.d.ts → types-ts4.5/ui/page-layout/side-nav/use-side-nav-ref.d.ts} +1 -4
  319. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav.d.ts +3 -4
  320. package/dist/{types/ui/page-layout/id-utils.d.ts → types-ts4.5/ui/page-layout/use-layout-id.d.ts} +0 -5
  321. package/dist/types-ts4.5/ui/page-layout/use-skip-link-id.d.ts +5 -0
  322. package/dist/types-ts4.5/ui/top-nav-items/themed/button.d.ts +5 -126
  323. package/dist/types-ts4.5/ui/top-nav-items/themed/get-primitives-spread-props.d.ts +16 -0
  324. package/dist/types-ts4.5/ui/top-nav-items/themed/icon-button.d.ts +7 -0
  325. package/dist/types-ts4.5/ui/top-nav-items/themed/link-button.d.ts +3 -0
  326. package/dist/types-ts4.5/ui/top-nav-items/themed/link-icon-button.d.ts +7 -0
  327. package/dist/types-ts4.5/ui/top-nav-items/themed/palette-rgba.d.ts +14 -0
  328. package/dist/types-ts4.5/ui/top-nav-items/themed/palette.d.ts +0 -20
  329. package/dist/types-ts4.5/ui/top-nav-items/themed/themed-anchor.d.ts +32 -0
  330. package/dist/types-ts4.5/ui/top-nav-items/themed/themed-button.d.ts +10 -0
  331. package/dist/types-ts4.5/ui/top-nav-items/themed/themed-icon-button.d.ts +10 -0
  332. package/dist/types-ts4.5/ui/top-nav-items/themed/themed-link-button.d.ts +16 -0
  333. package/dist/types-ts4.5/ui/top-nav-items/themed/themed-link-icon-button.d.ts +13 -0
  334. package/dist/types-ts4.5/ui/top-nav-items/themed/themed-pressable.d.ts +18 -0
  335. package/dist/types-ts4.5/ui/top-nav-items/themed/types.d.ts +54 -0
  336. package/dist/types-ts4.5/ui/top-nav-items/themed/use-custom-theme-new.d.ts +20 -0
  337. package/dist/types-ts4.5/ui/top-nav-items/themed/use-custom-theme.d.ts +0 -11
  338. package/package.json +19 -16
  339. package/dist/cjs/context/top-nav-start/top-nav-start-context.js +0 -26
  340. package/dist/cjs/ui/page-layout/side-nav/toggle-button-context.js +0 -26
  341. package/dist/cjs/ui/page-layout/side-nav/visibility-context.js +0 -19
  342. package/dist/cjs/ui/top-nav-items/themed/migration.js +0 -53
  343. package/dist/es2019/context/top-nav-start/top-nav-start-context.js +0 -20
  344. package/dist/es2019/ui/page-layout/side-nav/element-context.js +0 -21
  345. package/dist/es2019/ui/page-layout/side-nav/toggle-button-context.js +0 -19
  346. package/dist/es2019/ui/top-nav-items/themed/migration.js +0 -45
  347. package/dist/esm/context/top-nav-start/top-nav-start-context.js +0 -20
  348. package/dist/esm/ui/page-layout/hoist-utils.js +0 -51
  349. package/dist/esm/ui/page-layout/side-nav/element-context.js +0 -20
  350. package/dist/esm/ui/page-layout/side-nav/toggle-button-context.js +0 -19
  351. package/dist/esm/ui/top-nav-items/themed/migration.js +0 -45
  352. package/dist/types/context/top-nav-start/top-nav-start-context.d.ts +0 -16
  353. package/dist/types/ui/page-layout/panel-splitter/get-width.d.ts +0 -16
  354. package/dist/types/ui/page-layout/side-nav/toggle-button-context.d.ts +0 -16
  355. package/dist/types/ui/top-nav-items/themed/migration.d.ts +0 -10
  356. package/dist/types-ts4.5/context/top-nav-start/top-nav-start-context.d.ts +0 -16
  357. package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-width.d.ts +0 -16
  358. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-context.d.ts +0 -16
  359. package/dist/types-ts4.5/ui/top-nav-items/themed/migration.d.ts +0 -10
@@ -0,0 +1,2 @@
1
+ import { createContext } from 'react';
2
+ export var TopNavStartElement = /*#__PURE__*/createContext(null);
@@ -1 +1,4 @@
1
- export { Button as TopNavButton, LinkButton as TopNavLinkButton, IconButton as TopNavIconButton, LinkIconButton as TopNavLinkIconButton } from '../../ui/top-nav-items/themed/migration';
1
+ export { Button as TopNavButton } from '../../ui/top-nav-items/themed/button';
2
+ export { LinkButton as TopNavLinkButton } from '../../ui/top-nav-items/themed/link-button';
3
+ export { IconButton as TopNavIconButton } from '../../ui/top-nav-items/themed/icon-button';
4
+ export { LinkIconButton as TopNavLinkIconButton } from '../../ui/top-nav-items/themed/link-icon-button';
@@ -1,2 +1,2 @@
1
- export { useSkipLinkId } from '../../ui/page-layout/id-utils';
2
- export { useSkipLink } from '../../context/skip-links/skip-links-context';
1
+ export { useSkipLinkId } from '../../ui/page-layout/use-skip-link-id';
2
+ export { useSkipLink } from '../../context/skip-links/use-skip-link';
@@ -6,13 +6,14 @@ import * as React from 'react';
6
6
  import { ax, ix } from "@compiled/react/runtime";
7
7
  import { useContext, useEffect, useRef, useState } from 'react';
8
8
  import usePreviousValue from '@atlaskit/ds-lib/use-previous-value';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
9
10
  import { media } from '@atlaskit/primitives/responsive';
10
- import { useSkipLinkInternal } from '../../context/skip-links/skip-links-context';
11
+ import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
11
12
  import { asidePanelSplitterId, asideVar, contentHeightWhenFixed, contentInsetBlockStart, UNSAFE_asideLayoutVar } from './constants';
13
+ import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
12
14
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
13
- import { DangerouslyHoistCssVarToDocumentRoot } from './hoist-utils';
14
- import { useLayoutId } from './id-utils';
15
15
  import { PanelSplitterProvider } from './panel-splitter/provider';
16
+ import { useLayoutId } from './use-layout-id';
16
17
  import { useResizingWidthCssVarOnRootElement } from './use-resizing-width-css-var-on-root-element';
17
18
  import { useSafeDefaultWidth } from './use-safe-default-width';
18
19
  var panelSplitterResizingVar = '--n_asdRsz';
@@ -80,11 +81,13 @@ export function Aside(_ref) {
80
81
  * Don't show the skip link if the slot has 0 width.
81
82
  *
82
83
  * Remove `isHidden` usage after https://jplat.atlassian.net/browse/BLU-3951
84
+ *
85
+ * TODO: when cleaning up 'platform_dst_nav4_skip_link_a11y_1' remove this call entirely
83
86
  */
84
87
  useSkipLinkInternal({
85
88
  id: id,
86
89
  label: skipLinkLabel,
87
- isHidden: defaultWidth === 0
90
+ isHidden: defaultWidth === 0 || fg('platform_dst_nav4_skip_link_a11y_1')
88
91
  });
89
92
  var ref = useRef(null);
90
93
  var _useState = useState(defaultWidth),
@@ -3,12 +3,14 @@ import "./banner.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { useContext } from 'react';
6
- import { useSkipLinkInternal } from '../../context/skip-links/skip-links-context';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
7
+ import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
7
8
  import { useIsFhsEnabled } from '../fhs-rollout/use-is-fhs-enabled';
8
9
  import { bannerMountedVar, localSlotLayers, UNSAFE_bannerVar } from './constants';
10
+ import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
11
+ import { HoistCssVarToLocalGrid } from './hoist-css-var-to-local-grid';
9
12
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
10
- import { DangerouslyHoistCssVarToDocumentRoot, HoistCssVarToLocalGrid } from './hoist-utils';
11
- import { useLayoutId } from './id-utils';
13
+ import { useLayoutId } from './use-layout-id';
12
14
  var styles = {
13
15
  root: "_nd5ldkfm _1reo15vq _18m915vq _4t3iutvi _152tidpf _kqsw1if8 _1pbyegat",
14
16
  fullHeightSidebar: "_1pby11wp"
@@ -36,11 +38,13 @@ export function Banner(_ref) {
36
38
 
37
39
  /**
38
40
  * Don't show the skip link if the slot has 0 height.
41
+ *
42
+ * TODO: when cleaning up 'platform_dst_nav4_skip_link_a11y_1' remove this call entirely
39
43
  */
40
44
  useSkipLinkInternal({
41
45
  id: id,
42
46
  label: skipLinkLabel,
43
- isHidden: height === 0
47
+ isHidden: height === 0 || fg('platform_dst_nav4_skip_link_a11y_1')
44
48
  });
45
49
  return /*#__PURE__*/React.createElement("div", {
46
50
  id: id,
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ var getCssStringValue = function getCssStringValue(value) {
3
+ return typeof value === 'number' ? "".concat(value, "px") : value;
4
+ };
5
+ export var DangerouslyHoistCssVarToDocumentRoot = function DangerouslyHoistCssVarToDocumentRoot(_ref) {
6
+ var variableName = _ref.variableName,
7
+ value = _ref.value,
8
+ mediaQuery = _ref.mediaQuery,
9
+ responsiveValue = _ref.responsiveValue;
10
+ /**
11
+ * Note don't put multiple variables in multiple lines. eg
12
+ * <style>
13
+ * {css1}
14
+ * {css2}
15
+ * </style>
16
+ *
17
+ * React will insert an empty HTML comment in between the text in SSR.
18
+ * This is not a valid tag and will break the page.
19
+ * <style>foo<!-- -->bar</style>
20
+ */
21
+ var style = ":root { ".concat(variableName, ": ").concat(getCssStringValue(value), " }");
22
+ if (mediaQuery && responsiveValue) {
23
+ style += " ".concat(mediaQuery, " { :root { ").concat(variableName, ": ").concat(getCssStringValue(responsiveValue), " } }");
24
+ }
25
+ return (
26
+ /*#__PURE__*/
27
+ // Using a global style is required for SSR, as we can't use React hooks
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles
29
+ React.createElement("style", null, style)
30
+ );
31
+ };
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { gridRootId } from './root';
3
+
4
+ /**
5
+ * This is not ideal and shouldn't be used by anything outside of `<Banner>` and `<TopNav>`.
6
+ *
7
+ * This makes the other page layout elements aware that the banner and top bar have been mounted, provides them
8
+ * with their heights. This is needed to power the stick points of page layout elements like SideNav and Panel.
9
+ *
10
+ * We should clean this up once we have a better solution, such as moving the size props for banner and top bar into `Root`.
11
+ */
12
+ export var HoistCssVarToLocalGrid = function HoistCssVarToLocalGrid(_ref) {
13
+ var variableName = _ref.variableName,
14
+ value = _ref.value;
15
+ return /*#__PURE__*/React.createElement("style", null, "#".concat(gridRootId, " { ").concat(variableName, ": ").concat(value, "px }"));
16
+ };
@@ -3,9 +3,10 @@ import "./main.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { Fragment } from 'react';
6
- import { useSkipLink } from '../../../context/skip-links/skip-links-context';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
7
+ import { useSkipLink } from '../../../context/skip-links/use-skip-link';
7
8
  import { contentHeightWhenFixed, contentInsetBlockStart } from '../constants';
8
- import { useLayoutId } from '../id-utils';
9
+ import { useLayoutId } from '../use-layout-id';
9
10
  var mainElementStyles = {
10
11
  root: "_nd5l1gzg _1reo1wug _18m91wug _19121cl4 _152timx3 _qwfh1wug _165teqxy _13wn1if8"
11
12
  };
@@ -17,7 +18,7 @@ export function Main(_ref) {
17
18
  var children = _ref.children,
18
19
  xcss = _ref.xcss,
19
20
  _ref$skipLinkLabel = _ref.skipLinkLabel,
20
- skipLinkLabel = _ref$skipLinkLabel === void 0 ? 'Main Content' : _ref$skipLinkLabel,
21
+ skipLinkLabel = _ref$skipLinkLabel === void 0 ? fg('platform_dst_nav4_skip_link_a11y_1') ? 'Main content' : 'Main Content' : _ref$skipLinkLabel,
21
22
  testId = _ref.testId,
22
23
  providedId = _ref.id;
23
24
  var id = useLayoutId({
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns the computed width of an element in pixels.
3
+ */
4
+ export var getPixelWidth = function getPixelWidth(element) {
5
+ // Always returns an integer. Returns 0 if element is hidden / removed.
6
+ return element.offsetWidth;
7
+ };
@@ -1,7 +1,3 @@
1
- /**
2
- * ⚠️ Note: We are using the initial client location captured from the mousedown event, not from the dragstart event.
3
- * Some browser extensions can cause the client locations (e.g. clientX) in the `dragstart` event to incorrectly return 0.
4
- */
5
1
  export var getWidthFromDragLocation = function getWidthFromDragLocation(_ref) {
6
2
  var initialWidth = _ref.initialWidth,
7
3
  location = _ref.location,
@@ -19,11 +15,4 @@ export var getWidthFromDragLocation = function getWidthFromDragLocation(_ref) {
19
15
  // Resize line is positioned at the inline-start (left) of the element.
20
16
  // If the direction is left-to-right, the width will decrease when the mouse is moved to the right, and vice versa.
21
17
  return direction === 'ltr' ? initialWidth - diffX : initialWidth + diffX;
22
- };
23
- /**
24
- * Returns the computed width of an element in pixels.
25
- */
26
- export var getPixelWidth = function getPixelWidth(element) {
27
- // Always returns an integer. Returns 0 if element is hidden / removed.
28
- return element.offsetWidth;
29
18
  };
@@ -0,0 +1,4 @@
1
+ import { panelSplitterDragDataSymbol } from './panel-splitter-drag-symbol';
2
+ export function isPanelSplitterDragData(data) {
3
+ return data[panelSplitterDragDataSymbol] === true;
4
+ }
@@ -1,13 +1,5 @@
1
1
  import { createContext } from 'react';
2
2
 
3
- // Disabling the rule to allow for `Type` suffix, to differentiate from the Context object.
4
- // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
5
-
6
- /**
7
- * Context for the panel splitter. Only internally exported.
8
- */
9
- export var PanelSplitterContext = /*#__PURE__*/createContext(null);
10
-
11
3
  /**
12
4
  * Context for the panel splitter's double click handler. Only internally exported.
13
5
  *
@@ -0,0 +1,9 @@
1
+ import { createContext } from 'react';
2
+
3
+ // Disabling the rule to allow for `Type` suffix, to differentiate from the Context object.
4
+ // eslint-disable-next-line @repo/internal/react/consistent-types-definitions
5
+
6
+ /**
7
+ * Context for the panel splitter. Only internally exported.
8
+ */
9
+ export var PanelSplitterContext = /*#__PURE__*/createContext(null);
@@ -0,0 +1 @@
1
+ export var panelSplitterDragDataSymbol = Symbol('panel-splitter-drag-data');
@@ -27,11 +27,18 @@ import TooltipContainer from '@atlaskit/tooltip/TooltipContainer';
27
27
  import VisuallyHidden from '@atlaskit/visually-hidden';
28
28
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
29
29
  import { contentInsetBlockStart } from '../constants';
30
- import { OnDoubleClickContext, PanelSplitterContext } from './context';
31
30
  import { convertResizeBoundToPixels } from './convert-resize-bound-to-pixels';
32
31
  import { getPercentageWithinPixelBounds } from './get-percentage-within-pixel-bounds';
33
- import { getPixelWidth, getWidthFromDragLocation } from './get-width';
32
+ import { getPixelWidth } from './get-pixel-width';
33
+ import { getWidthFromDragLocation } from './get-width-from-drag-location';
34
+ import { isPanelSplitterDragData } from './is-panel-splitter-drag-data';
34
35
  import { createKeyboardResizeManager } from './keyboard-resize-manager';
36
+ import { OnDoubleClickContext } from './on-double-click-context';
37
+ import { PanelSplitterContext } from './panel-splitter-context';
38
+ import { panelSplitterDragDataSymbol } from './panel-splitter-drag-symbol';
39
+ function signPanelSplitterDragData(data) {
40
+ return _objectSpread(_objectSpread({}, data), {}, _defineProperty({}, panelSplitterDragDataSymbol, true));
41
+ }
35
42
  var containerStyles = {
36
43
  root: "_12ji1r31 _1qu2glyw _12y31o36 _1e0cglyw _kqswstnw _u7coidpf _152tidpf _1pbykb7n _181n1ule",
37
44
  positionEnd: "_rjxpftgi",
@@ -49,10 +56,6 @@ var lineStyles = {
49
56
  var tooltipStyles = {
50
57
  root: "_ahbq196n _1bsb1ris"
51
58
  };
52
- var panelSplitterDragDataSymbol = Symbol('panel-splitter-drag-data');
53
- function signPanelSplitterDragData(data) {
54
- return _objectSpread(_objectSpread({}, data), {}, _defineProperty({}, panelSplitterDragDataSymbol, true));
55
- }
56
59
  var PanelSplitterTooltip = /*#__PURE__*/forwardRef(function (_ref, ref) {
57
60
  var children = _ref.children,
58
61
  className = _ref.className,
@@ -122,9 +125,6 @@ var MaybeTooltip = function MaybeTooltip(_ref2) {
122
125
  }
123
126
  return children;
124
127
  };
125
- export function isPanelSplitterDragData(data) {
126
- return data[panelSplitterDragDataSymbol] === true;
127
- }
128
128
  function getTextDirection(element) {
129
129
  var _window$getComputedSt = window.getComputedStyle(element),
130
130
  direction = _window$getComputedSt.direction;
@@ -416,7 +416,6 @@ var PortaledPanelSplitter = function PortaledPanelSplitter(_ref3) {
416
416
  className: ax([lineStyles.root])
417
417
  })))), portal);
418
418
  };
419
-
420
419
  /**
421
420
  * _PanelSplitter_
422
421
  *
@@ -1,5 +1,5 @@
1
1
  import React, { Fragment, useMemo, useRef } from 'react';
2
- import { PanelSplitterContext } from './context';
2
+ import { PanelSplitterContext } from './panel-splitter-context';
3
3
  /**
4
4
  * Provides the context required for the panel splitter to work within a page layout slot.
5
5
  *
@@ -5,8 +5,9 @@ import { useOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer
5
5
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
6
6
  import { openLayerObserverSideNavNamespace, openLayerObserverTopNavEndNamespace, openLayerObserverTopNavMiddleNamespace, openLayerObserverTopNavStartNamespace, sideNavPanelSplitterId } from '../constants';
7
7
  import { useToggleSideNav } from '../side-nav/use-toggle-side-nav';
8
- import { OnDoubleClickContext, PanelSplitterContext } from './context';
8
+ import { OnDoubleClickContext } from './on-double-click-context';
9
9
  import { PanelSplitter } from './panel-splitter';
10
+ import { PanelSplitterContext } from './panel-splitter-context';
10
11
 
11
12
  /**
12
13
  * Namespaces to check for open layers that would interfere with the panel splitter.
@@ -5,14 +5,15 @@ import "./panel.compiled.css";
5
5
  import * as React from 'react';
6
6
  import { ax, ix } from "@compiled/react/runtime";
7
7
  import { useCallback, useContext, useEffect, useRef, useState } from 'react';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
8
9
  import { media } from '@atlaskit/primitives/responsive';
9
- import { useSkipLinkInternal } from '../../context/skip-links/skip-links-context';
10
+ import { useSkipLinkInternal } from '../../context/skip-links/use-skip-link-internal';
10
11
  import { contentHeightWhenFixed, contentInsetBlockStart, localSlotLayers, panelPanelSplitterId, panelVar, sideNavLiveWidthVar, UNSAFE_panelLayoutVar } from './constants';
12
+ import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
11
13
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
12
- import { DangerouslyHoistCssVarToDocumentRoot } from './hoist-utils';
13
- import { useLayoutId } from './id-utils';
14
14
  import { PanelSplitterProvider } from './panel-splitter/provider';
15
- import { useSideNavRef } from './side-nav/element-context';
15
+ import { useSideNavRef } from './side-nav/use-side-nav-ref';
16
+ import { useLayoutId } from './use-layout-id';
16
17
  import { useResizingWidthCssVarOnRootElement } from './use-resizing-width-css-var-on-root-element';
17
18
  import { useSafeDefaultWidth } from './use-safe-default-width';
18
19
  var panelSplitterResizingVar = '--n_pnlRsz';
@@ -66,11 +67,13 @@ export function Panel(_ref) {
66
67
  * Don't show the skip link if the slot has 0 width.
67
68
  *
68
69
  * Remove `isHidden` usage after https://jplat.atlassian.net/browse/BLU-3951
70
+ *
71
+ * TODO: when cleaning up 'platform_dst_nav4_skip_link_a11y_1' remove this call entirely
69
72
  */
70
73
  useSkipLinkInternal({
71
74
  id: id,
72
75
  label: skipLinkLabel,
73
- isHidden: defaultWidth === 0
76
+ isHidden: defaultWidth === 0 || fg('platform_dst_nav4_skip_link_a11y_1')
74
77
  });
75
78
  var ref = useRef(null);
76
79
  var _useState = useState(defaultWidth),
@@ -5,9 +5,9 @@ import { ax, ix } from "@compiled/react/runtime";
5
5
  import { useContext } from 'react';
6
6
  import { media } from '@atlaskit/primitives/responsive';
7
7
  import { localSlotLayers, UNSAFE_ribbonVar } from './constants';
8
+ import { DangerouslyHoistCssVarToDocumentRoot } from './dangerously-hoist-css-var-to-document-root';
8
9
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
9
- import { DangerouslyHoistCssVarToDocumentRoot } from './hoist-utils';
10
- import { useLayoutId } from './id-utils';
10
+ import { useLayoutId } from './use-layout-id';
11
11
  var styles = {
12
12
  root: "_nd5l1c99 _1reo15vq _18m915vq _4t3i1osq _152tidpf _kqsw1if8 _vchhusvi _1pbyegat _1e0cglyw _dm2518uv"
13
13
  };
@@ -3,11 +3,12 @@ import "./root.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
4
  import React, { useEffect, useRef } from 'react';
5
5
  import { OpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
6
7
  import { SkipLinksProvider } from '../../context/skip-links/skip-links-provider';
7
8
  import { TopNavStartProvider } from '../../context/top-nav-start/top-nav-start-context-provider';
8
9
  import { DangerouslyHoistSlotSizes } from './hoist-slot-sizes-context';
9
- import { SideNavElementProvider } from './side-nav/element-context';
10
- import { IsSideNavShortcutEnabledProvider } from './side-nav/is-side-nav-shortcut-enabled-context';
10
+ import { IsSideNavShortcutEnabledProvider } from './side-nav/is-side-nav-shortcut-enabled-provider';
11
+ import { SideNavElementProvider } from './side-nav/side-nav-element-provider';
11
12
  import { SideNavToggleButtonProvider } from './side-nav/toggle-button-provider';
12
13
  import { SideNavVisibilityProvider } from './side-nav/visibility-provider';
13
14
 
@@ -26,12 +27,12 @@ export function Root(_ref) {
26
27
  xcss = _ref.xcss,
27
28
  _ref$UNSAFE_dangerous = _ref.UNSAFE_dangerouslyHoistSlotSizes,
28
29
  UNSAFE_dangerouslyHoistSlotSizes = _ref$UNSAFE_dangerous === void 0 ? false : _ref$UNSAFE_dangerous,
29
- _ref$skipLinksLabel = _ref.skipLinksLabel,
30
- skipLinksLabel = _ref$skipLinksLabel === void 0 ? 'Skip to:' : _ref$skipLinksLabel,
30
+ skipLinksLabel = _ref.skipLinksLabel,
31
31
  testId = _ref.testId,
32
32
  defaultSideNavCollapsed = _ref.defaultSideNavCollapsed,
33
33
  _ref$isSideNavShortcu = _ref.isSideNavShortcutEnabled,
34
34
  isSideNavShortcutEnabled = _ref$isSideNavShortcu === void 0 ? false : _ref$isSideNavShortcu;
35
+ var resolvedSkipLinksLabel = skipLinksLabel !== null && skipLinksLabel !== void 0 ? skipLinksLabel : fg('platform_dst_nav4_skip_link_a11y_1') ? 'Skip to' : 'Skip to:';
35
36
  var ref = useRef(null);
36
37
  useEffect(function () {
37
38
  if (process.env.NODE_ENV !== 'production') {
@@ -53,7 +54,7 @@ export function Root(_ref) {
53
54
  }, /*#__PURE__*/React.createElement(TopNavStartProvider, null, /*#__PURE__*/React.createElement(OpenLayerObserver, null, /*#__PURE__*/React.createElement(DangerouslyHoistSlotSizes.Provider, {
54
55
  value: UNSAFE_dangerouslyHoistSlotSizes
55
56
  }, /*#__PURE__*/React.createElement(SkipLinksProvider, {
56
- label: skipLinksLabel,
57
+ label: resolvedSkipLinksLabel,
57
58
  testId: testId
58
59
  }, /*#__PURE__*/React.createElement("div", {
59
60
  ref: ref,
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext } from 'react';
1
+ import { createContext } from 'react';
2
2
 
3
3
  /**
4
4
  * Context for whether the side nav toggle shortcut is enabled.
@@ -6,23 +6,4 @@ import React, { createContext, useContext } from 'react';
6
6
  * Used to share the `isSideNavShortcutEnabled` prop value from `Root` with other components,
7
7
  * so the visual keyboard shortcut in tooltips can be conditionally displayed.
8
8
  */
9
- var IsSideNavShortcutEnabledContext = /*#__PURE__*/createContext(false);
10
-
11
- /**
12
- * Provider for the `IsSideNavShortcutEnabledContext`.
13
- */
14
- export function IsSideNavShortcutEnabledProvider(_ref) {
15
- var children = _ref.children,
16
- isSideNavShortcutEnabled = _ref.isSideNavShortcutEnabled;
17
- return /*#__PURE__*/React.createElement(IsSideNavShortcutEnabledContext.Provider, {
18
- value: isSideNavShortcutEnabled
19
- }, children);
20
- }
21
-
22
- /**
23
- * Returns the value of the `isSideNavShortcutEnabled` prop from the `Root` component, which
24
- * is shared through context.
25
- */
26
- export function useIsSideNavShortcutEnabled() {
27
- return useContext(IsSideNavShortcutEnabledContext);
28
- }
9
+ export var IsSideNavShortcutEnabledContext = /*#__PURE__*/createContext(false);
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { IsSideNavShortcutEnabledContext } from './is-side-nav-shortcut-enabled-context';
3
+ export function IsSideNavShortcutEnabledProvider(_ref) {
4
+ var children = _ref.children,
5
+ isSideNavShortcutEnabled = _ref.isSideNavShortcutEnabled;
6
+ return /*#__PURE__*/React.createElement(IsSideNavShortcutEnabledContext.Provider, {
7
+ value: isSideNavShortcutEnabled
8
+ }, children);
9
+ }
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ import __noop from '@atlaskit/ds-lib/noop';
3
+ export var SetSideNavVisibilityState = /*#__PURE__*/createContext(__noop);
@@ -0,0 +1,9 @@
1
+ import React, { useRef } from 'react';
2
+ import { SideNavRefContext } from './side-nav-ref-context';
3
+ export function SideNavElementProvider(_ref) {
4
+ var children = _ref.children;
5
+ var sideNavRef = useRef(null);
6
+ return /*#__PURE__*/React.createElement(SideNavRefContext.Provider, {
7
+ value: sideNavRef
8
+ }, children);
9
+ }
@@ -0,0 +1,4 @@
1
+ import { createContext } from 'react';
2
+ export var SideNavRefContext = /*#__PURE__*/createContext({
3
+ current: null
4
+ });
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ import __noop from '@atlaskit/ds-lib/noop';
3
+ export var SideNavToggleButtonAttachRef = /*#__PURE__*/createContext(__noop);
@@ -0,0 +1,7 @@
1
+ import { createContext } from 'react';
2
+
3
+ /**
4
+ * Context for the side nav toggle button element.
5
+ * Used to power the side nav flyout by allowing the side nav to bind event listeners to the button element.
6
+ */
7
+ export var SideNavToggleButtonElement = /*#__PURE__*/createContext(null);
@@ -1,12 +1,6 @@
1
1
  import { createContext } from 'react';
2
- import __noop from '@atlaskit/ds-lib/noop';
3
2
  /**
4
3
  * Context for the visibility of the side nav.
5
4
  * State is initialised as null. This is used when the value has not been set yet - which is important to know for SSR.
6
5
  */
7
- export var SideNavVisibilityState = /*#__PURE__*/createContext(null);
8
-
9
- /**
10
- * Sets the visibility of the side nav.
11
- */
12
- export var SetSideNavVisibilityState = /*#__PURE__*/createContext(__noop);
6
+ export var SideNavVisibilityState = /*#__PURE__*/createContext(null);
@@ -16,27 +16,28 @@ import { OpenLayerObserverNamespaceProvider, useOpenLayerObserver } from '@atlas
16
16
  import { fg } from '@atlaskit/platform-feature-flags';
17
17
  import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
18
18
  import { media } from '@atlaskit/primitives/responsive';
19
- import { useSkipLinkInternal } from '../../../context/skip-links/skip-links-context';
20
- import { TopNavStartElement } from '../../../context/top-nav-start/top-nav-start-context';
19
+ import { useSkipLinkInternal } from '../../../context/skip-links/use-skip-link-internal';
20
+ import { TopNavStartElement } from '../../../context/top-nav-start/top-nav-start-element';
21
21
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
22
22
  import { bannerMountedVar, contentHeightWhenFixed, contentInsetBlockStart, localSlotLayers, openLayerObserverSideNavNamespace, openLayerObserverTopNavStartNamespace, sideNavLiveWidthVar, sideNavPanelSplitterId, sideNavVar, UNSAFE_sideNavLayoutVar } from '../constants';
23
+ import { DangerouslyHoistCssVarToDocumentRoot } from '../dangerously-hoist-css-var-to-document-root';
23
24
  import { DangerouslyHoistSlotSizes } from '../hoist-slot-sizes-context';
24
- import { DangerouslyHoistCssVarToDocumentRoot } from '../hoist-utils';
25
- import { useLayoutId } from '../id-utils';
26
25
  import { PanelSplitterProvider } from '../panel-splitter/provider';
26
+ import { useLayoutId } from '../use-layout-id';
27
27
  import { useResizingWidthCssVarOnRootElement } from '../use-resizing-width-css-var-on-root-element';
28
28
  import { useSafeDefaultWidth } from '../use-safe-default-width';
29
- import { useSideNavRef } from './element-context';
30
29
  import { sideNavFlyoutCloseDelayMs } from './flyout-close-delay-ms';
31
- import { useIsSideNavShortcutEnabled } from './is-side-nav-shortcut-enabled-context';
30
+ import { SetSideNavVisibilityState } from './set-side-nav-visibility-state';
31
+ import { SideNavToggleButtonElement } from './side-nav-toggle-button-element';
32
32
  import { sideNavToggleTooltipKeyboardShortcut } from './side-nav-toggle-tooltip-keyboard-shortcut';
33
- import { SideNavToggleButtonElement } from './toggle-button-context';
33
+ import { SideNavVisibilityState } from './side-nav-visibility-state';
34
34
  import { useExpandSideNav } from './use-expand-side-nav';
35
+ import { useIsSideNavShortcutEnabled } from './use-is-side-nav-shortcut-enabled';
36
+ import { useSideNavRef } from './use-side-nav-ref';
35
37
  import { useSideNavToggleKeyboardShortcut } from './use-side-nav-toggle-keyboard-shortcut';
36
38
  import { useSideNavVisibility } from './use-side-nav-visibility';
37
39
  import { useSideNavVisibilityCallbacks } from './use-side-nav-visibility-callbacks';
38
40
  import { useToggleSideNav } from './use-toggle-side-nav';
39
- import { SetSideNavVisibilityState, SideNavVisibilityState } from './visibility-context';
40
41
  var panelSplitterResizingVar = '--n_snvRsz';
41
42
  // Used to share the side nav width with the panel splitter, which is rendered outside the side nav element
42
43
  // but positioned to stay at its right edge.
@@ -1,6 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useState } from 'react';
3
- import { SideNavToggleButtonAttachRef, SideNavToggleButtonElement } from './toggle-button-context';
3
+ import { SideNavToggleButtonAttachRef } from './side-nav-toggle-button-attach-ref';
4
+ import { SideNavToggleButtonElement } from './side-nav-toggle-button-element';
4
5
 
5
6
  /**
6
7
  * Provider for the side nav toggle button contexts.
@@ -12,13 +12,13 @@ import SidebarCollapseIcon from '@atlaskit/icon/core/sidebar-collapse';
12
12
  import SidebarExpandIcon from '@atlaskit/icon/core/sidebar-expand';
13
13
  import { useOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
14
14
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
15
- import { IconButton } from '../../top-nav-items/themed/migration';
16
- import { useIsSideNavShortcutEnabled } from './is-side-nav-shortcut-enabled-context';
15
+ import { IconButton } from '../../top-nav-items/themed/icon-button';
16
+ import { SideNavToggleButtonAttachRef } from './side-nav-toggle-button-attach-ref';
17
17
  import { sideNavToggleTooltipKeyboardShortcut } from './side-nav-toggle-tooltip-keyboard-shortcut';
18
- import { SideNavToggleButtonAttachRef } from './toggle-button-context';
18
+ import { SideNavVisibilityState } from './side-nav-visibility-state';
19
+ import { useIsSideNavShortcutEnabled } from './use-is-side-nav-shortcut-enabled';
19
20
  import { useSideNavVisibility } from './use-side-nav-visibility';
20
21
  import { useToggleSideNav } from './use-toggle-side-nav';
21
- import { SideNavVisibilityState } from './visibility-context';
22
22
  var toggleButtonTooltipOptions = {
23
23
  // We're disabling pointer events on the tooltip to prevent it from blocking mouse events, so that the side nav flyout stays open
24
24
  // when moving the mouse from the top bar to the side nav.
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useContext } from 'react';
2
- import { SetSideNavVisibilityState } from './visibility-context';
2
+ import { SetSideNavVisibilityState } from './set-side-nav-visibility-state';
3
3
  /**
4
4
  * __useExpandSideNav__
5
5
  *
@@ -0,0 +1,10 @@
1
+ import { useContext } from 'react';
2
+ import { IsSideNavShortcutEnabledContext } from './is-side-nav-shortcut-enabled-context';
3
+
4
+ /**
5
+ * Returns the value of the `isSideNavShortcutEnabled` prop from the `Root` component, which
6
+ * is shared through context.
7
+ */
8
+ export function useIsSideNavShortcutEnabled() {
9
+ return useContext(IsSideNavShortcutEnabledContext);
10
+ }
@@ -0,0 +1,11 @@
1
+ import { useContext } from 'react';
2
+ import { SideNavRefContext } from './side-nav-ref-context';
3
+
4
+ /**
5
+ * Returns a ref for the side navigation that is accessible to other Page Layout slots.
6
+ *
7
+ * Used by the Panel to measure the SideNav when it is calculating its resize bounds.
8
+ */
9
+ export function useSideNavRef() {
10
+ return useContext(SideNavRefContext);
11
+ }
@@ -3,7 +3,7 @@ import { bind } from 'bind-event-listener';
3
3
  import useStableRef from '@atlaskit/ds-lib/use-stable-ref';
4
4
  import { useOpenLayerObserver } from '@atlaskit/layering/experimental/open-layer-observer';
5
5
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
6
- import { useIsSideNavShortcutEnabled } from './is-side-nav-shortcut-enabled-context';
6
+ import { useIsSideNavShortcutEnabled } from './use-is-side-nav-shortcut-enabled';
7
7
  import { useToggleSideNav } from './use-toggle-side-nav';
8
8
 
9
9
  /**
@@ -1,5 +1,5 @@
1
1
  import { useContext } from 'react';
2
- import { SideNavVisibilityState } from './visibility-context';
2
+ import { SideNavVisibilityState } from './side-nav-visibility-state';
3
3
  /**
4
4
  * This hook is intended to be used internally within the `@atlaskit/navigation-system` package.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useContext } from 'react';
2
- import { SetSideNavVisibilityState } from './visibility-context';
2
+ import { SetSideNavVisibilityState } from './set-side-nav-visibility-state';
3
3
  /**
4
4
  * __useToggleSideNav__
5
5
  *
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useState } from 'react';
3
- import { SetSideNavVisibilityState, SideNavVisibilityState } from './visibility-context';
4
-
3
+ import { SetSideNavVisibilityState } from './set-side-nav-visibility-state';
4
+ import { SideNavVisibilityState } from './side-nav-visibility-state';
5
5
  /**
6
6
  * Manages the side nav visibility state and provides the context.
7
7
  */
@@ -13,7 +13,7 @@ import { UNSAFE_useMediaQuery as useMediaQuery } from '@atlaskit/primitives/comp
13
13
  import { List } from '../../../components/list';
14
14
  import { useIsFhsEnabled } from '../../fhs-rollout/use-is-fhs-enabled';
15
15
  import { HasCustomThemeContext } from '../../top-nav-items/themed/has-custom-theme-context';
16
- import { IconButton } from '../../top-nav-items/themed/migration';
16
+ import { IconButton } from '../../top-nav-items/themed/icon-button';
17
17
  import { openLayerObserverTopNavEndNamespace } from '../constants';
18
18
  var containerStyles = {
19
19
  root: "_yyhy11wp _1e0c1txw _1bahh9n0 _1ul9zwfg _1d2y1ris _glte1ris _15rip2n4 _1gs5usvi _ndwch9n0",