@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
@@ -1,44 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
1
  import { useMemo } from 'react';
5
- import { useColorMode } from '@atlaskit/app-provider';
6
- import { getTokenValue } from '@atlaskit/tokens';
7
- import { parseHex } from './color-utils/formats/hex';
8
2
  import { getCustomThemeStyles } from './get-custom-theme-styles';
9
- function toRGBString(_ref) {
10
- var r = _ref.r,
11
- g = _ref.g,
12
- b = _ref.b;
13
- return "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")");
14
- }
15
-
16
- // TODO: Fill in the hook {description}.
17
- /**
18
- * {description}.
19
- */
20
- export function useCustomThemeNew(theme) {
21
- var value = useCustomTheme(theme);
22
-
23
- /**
24
- * We use the color mode to determine the default background color for the top nav.
25
- * We need to use the hook because the user could change their color mode preference.
26
- */
27
- var colorMode = useColorMode();
28
- var hasDefaultBackground = useMemo(function () {
29
- if (!value.isEnabled) {
30
- return true;
31
- }
32
- var defaultBackground = parseHex(getTokenValue('elevation.surface', colorMode === 'light' ? '#FFFFFF' : '#1F1F21'));
33
- return defaultBackground ? value.style.backgroundColor === toRGBString(defaultBackground) : true;
34
- }, [value, colorMode]);
35
- if (value.isEnabled) {
36
- return _objectSpread(_objectSpread({}, value), {}, {
37
- hasDefaultBackground: hasDefaultBackground
38
- });
39
- }
40
- return value;
41
- }
42
3
  /**
43
4
  * Processes the provided theme and returns theme styles if possible.
44
5
  */
@@ -7,30 +7,3 @@ export type SkipLinksContextData = {
7
7
  * Provides a way to register and unregister skip links
8
8
  */
9
9
  export declare const SkipLinksContext: import('react').Context<SkipLinksContextData>;
10
- /**
11
- * Internal-only hook for registering skip links.
12
- *
13
- * `useSkipLink` is the public API wrapper of this.
14
- *
15
- * This private version exists for us to support `onBeforeNavigate` for the side nav use case,
16
- * where we might need to expand it before moving focus, without having to support `onBeforeNavigate` publicly.
17
- */
18
- export declare const useSkipLinkInternal: ({ id, label, listIndex, onBeforeNavigate, isHidden, }: SkipLinkData) => void;
19
- /**
20
- * Call `useSkipLink` to register a skip link for important elements on the page.
21
- */
22
- export declare const useSkipLink: (
23
- /**
24
- * The unique ID for the skip link.
25
- * You can use the `useSkipLinkId` hook to generate a unique ID.
26
- */
27
- id: string,
28
- /**
29
- * The label for the skip link.
30
- */
31
- label: string,
32
- /**
33
- * You can optionally set the position of the skip link in the list of skip links.
34
- * Positions are zero-indexed.
35
- */
36
- listIndex?: number) => void;
@@ -0,0 +1,10 @@
1
+ import { type SkipLinkData } from './types';
2
+ /**
3
+ * Internal-only hook for registering skip links.
4
+ *
5
+ * `useSkipLink` is the public API wrapper of this.
6
+ *
7
+ * This private version exists for us to support `onBeforeNavigate` for the side nav use case,
8
+ * where we might need to expand it before moving focus, without having to support `onBeforeNavigate` publicly.
9
+ */
10
+ export declare const useSkipLinkInternal: ({ id, label, listIndex, onBeforeNavigate, isHidden, }: SkipLinkData) => void;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Call `useSkipLink` to register a skip link for important elements on the page.
3
+ */
4
+ export declare const useSkipLink: (
5
+ /**
6
+ * The unique ID for the skip link.
7
+ * You can use the `useSkipLinkId` hook to generate a unique ID.
8
+ */
9
+ id: string,
10
+ /**
11
+ * The label for the skip link.
12
+ */
13
+ label: string,
14
+ /**
15
+ * You can optionally set the position of the skip link in the list of skip links.
16
+ * Positions are zero-indexed.
17
+ */
18
+ listIndex?: number) => void;
@@ -0,0 +1 @@
1
+ export declare const TopNavStartAttachRef: import('react').Context<(newVal: HTMLDivElement | null) => void>;
@@ -0,0 +1 @@
1
+ export declare const TopNavStartElement: import('react').Context<HTMLDivElement | 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';
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type MediaQuery } from '@atlaskit/primitives/responsive';
3
+ export declare const DangerouslyHoistCssVarToDocumentRoot: ({ variableName, value, mediaQuery, responsiveValue, }: {
4
+ variableName: string;
5
+ value: string | number;
6
+ mediaQuery?: MediaQuery;
7
+ responsiveValue?: string | number;
8
+ }) => React.JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { type MediaQuery } from '@atlaskit/primitives/responsive';
3
2
  /**
4
3
  * This is not ideal and shouldn't be used by anything outside of `<Banner>` and `<TopNav>`.
5
4
  *
@@ -12,13 +11,3 @@ export declare const HoistCssVarToLocalGrid: ({ variableName, value, }: {
12
11
  variableName: string;
13
12
  value: number;
14
13
  }) => React.JSX.Element;
15
- /**
16
- * Hoists CSS variables to the document root. This is support the legacy edge case of monolith pages being injected as a
17
- * sibling to the page layout, as opposed to within the `Main` slot.
18
- */
19
- export declare const DangerouslyHoistCssVarToDocumentRoot: ({ variableName, value, mediaQuery, responsiveValue, }: {
20
- variableName: string;
21
- value: string | number;
22
- mediaQuery?: MediaQuery;
23
- responsiveValue?: string | number;
24
- }) => React.JSX.Element;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns the computed width of an element in pixels.
3
+ */
4
+ export declare const getPixelWidth: (element: HTMLElement) => number;
@@ -0,0 +1,8 @@
1
+ import type { DragLocationHistory } from '@atlaskit/pragmatic-drag-and-drop/types';
2
+ export declare const getWidthFromDragLocation: ({ initialWidth, location, initialClientX, direction, position, }: {
3
+ initialWidth: number;
4
+ location: DragLocationHistory;
5
+ initialClientX: number;
6
+ direction: "ltr" | "rtl";
7
+ position: "start" | "end";
8
+ }) => number;
@@ -0,0 +1,9 @@
1
+ import type { ResizeBounds } from './types';
2
+ export type PanelSplitterDragData = {
3
+ panelId: string | symbol | undefined;
4
+ initialWidth: number;
5
+ resizingWidth: string;
6
+ resizeBounds: ResizeBounds;
7
+ direction: 'ltr' | 'rtl';
8
+ };
9
+ export declare function isPanelSplitterDragData(data: Record<string | symbol, unknown>): data is PanelSplitterDragData;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Context for the panel splitter's double click handler. Only internally exported.
3
+ *
4
+ * NOTE: This context is a temporary workaround to enable the `SideNavPanelSplitter` component
5
+ * to collapse the side nav on double click, without exposing the `onDoubleClick` prop on `PanelSplitter`.
6
+ * Once `PanelSplitter` supports an `onDoubleClick` prop directly, this context should be removed.
7
+ */
8
+ export declare const OnDoubleClickContext: import('react').Context<(() => void) | undefined>;
@@ -62,11 +62,3 @@ export type PanelSplitterContextType = {
62
62
  * Context for the panel splitter. Only internally exported.
63
63
  */
64
64
  export declare const PanelSplitterContext: import('react').Context<PanelSplitterContextType | null>;
65
- /**
66
- * Context for the panel splitter's double click handler. Only internally exported.
67
- *
68
- * NOTE: This context is a temporary workaround to enable the `SideNavPanelSplitter` component
69
- * to collapse the side nav on double click, without exposing the `onDoubleClick` prop on `PanelSplitter`.
70
- * Once `PanelSplitter` supports an `onDoubleClick` prop directly, this context should be removed.
71
- */
72
- export declare const OnDoubleClickContext: import('react').Context<(() => void) | undefined>;
@@ -0,0 +1 @@
1
+ export declare const panelSplitterDragDataSymbol: unique symbol;
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { type ReactNode } from 'react';
6
6
  import { type TooltipProps } from '@atlaskit/tooltip';
7
- import type { ResizeBounds, ResizeEndCallback, ResizeStartCallback } from './types';
7
+ import type { ResizeEndCallback, ResizeStartCallback } from './types';
8
8
  export type PanelSplitterProps = {
9
9
  /**
10
10
  * The accessible label for the panel splitter. It is visually hidden, but is required for accessibility.
@@ -33,14 +33,6 @@ export type PanelSplitterProps = {
33
33
  */
34
34
  tooltipContent?: TooltipProps['content'];
35
35
  };
36
- type PanelSplitterDragData = {
37
- panelId: string | symbol | undefined;
38
- initialWidth: number;
39
- resizingWidth: string;
40
- resizeBounds: ResizeBounds;
41
- direction: 'ltr' | 'rtl';
42
- };
43
- export declare function isPanelSplitterDragData(data: Record<string | symbol, unknown>): data is PanelSplitterDragData;
44
36
  /**
45
37
  * _PanelSplitter_
46
38
  *
@@ -58,4 +50,3 @@ export declare function isPanelSplitterDragData(data: Record<string | symbol, un
58
50
  * ```
59
51
  */
60
52
  export declare const PanelSplitter: ({ label, onResizeStart, onResizeEnd, testId, tooltipContent, }: PanelSplitterProps) => ReactNode;
61
- export {};
@@ -1,5 +1,5 @@
1
1
  import React, { type MutableRefObject } from 'react';
2
- import { type PanelSplitterContextType } from './context';
2
+ import { type PanelSplitterContextType } from './panel-splitter-context';
3
3
  export type PanelSplitterProviderProps = Omit<PanelSplitterContextType, 'portalRef' | 'position'> & {
4
4
  children: React.ReactNode;
5
5
  /**
@@ -1,13 +1,8 @@
1
- import React from 'react';
1
+ import { type Context } from 'react';
2
2
  /**
3
- * Provider for the `IsSideNavShortcutEnabledContext`.
3
+ * Context for whether the side nav toggle shortcut is enabled.
4
+ *
5
+ * Used to share the `isSideNavShortcutEnabled` prop value from `Root` with other components,
6
+ * so the visual keyboard shortcut in tooltips can be conditionally displayed.
4
7
  */
5
- export declare function IsSideNavShortcutEnabledProvider({ children, isSideNavShortcutEnabled, }: {
6
- children: React.ReactNode;
7
- isSideNavShortcutEnabled: boolean;
8
- }): React.JSX.Element;
9
- /**
10
- * Returns the value of the `isSideNavShortcutEnabled` prop from the `Root` component, which
11
- * is shared through context.
12
- */
13
- export declare function useIsSideNavShortcutEnabled(): boolean;
8
+ export declare const IsSideNavShortcutEnabledContext: Context<boolean>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare function IsSideNavShortcutEnabledProvider({ children, isSideNavShortcutEnabled, }: {
3
+ children: React.ReactNode;
4
+ isSideNavShortcutEnabled: boolean;
5
+ }): React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
+ import type { SideNavState } from './types';
3
+ export declare const SetSideNavVisibilityState: import('react').Context<Dispatch<SetStateAction<SideNavState | null>>>;
@@ -0,0 +1,4 @@
1
+ import React, { type ReactNode } from 'react';
2
+ export declare function SideNavElementProvider({ children }: {
3
+ children: ReactNode;
4
+ }): React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { type Context } from 'react';
2
+ export declare const SideNavRefContext: Context<React.RefObject<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export declare const SideNavToggleButtonAttachRef: import('react').Context<(newVal: HTMLButtonElement | null) => void>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Context for the side nav toggle button element.
3
+ * Used to power the side nav flyout by allowing the side nav to bind event listeners to the button element.
4
+ */
5
+ export declare const SideNavToggleButtonElement: import('react').Context<HTMLButtonElement | null>;
@@ -1,11 +1,6 @@
1
- import { type Dispatch, type SetStateAction } from 'react';
2
1
  import type { SideNavState } from './types';
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
6
  export declare const SideNavVisibilityState: import('react').Context<SideNavState | null>;
8
- /**
9
- * Sets the visibility of the side nav.
10
- */
11
- export declare const SetSideNavVisibilityState: import('react').Context<Dispatch<SetStateAction<SideNavState | null>>>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Returns the value of the `isSideNavShortcutEnabled` prop from the `Root` component, which
3
+ * is shared through context.
4
+ */
5
+ export declare function useIsSideNavShortcutEnabled(): boolean;
@@ -1,7 +1,4 @@
1
- import React, { type ReactNode } from 'react';
2
- export declare function SideNavElementProvider({ children }: {
3
- children: ReactNode;
4
- }): React.JSX.Element;
1
+ import React from 'react';
5
2
  /**
6
3
  * Returns a ref for the side navigation that is accessible to other Page Layout slots.
7
4
  *
@@ -17,11 +17,10 @@ type TopNavProps = CommonSlotProps & {
17
17
  */
18
18
  height?: number;
19
19
  /**
20
- * EXPERIMENTAL - DO NOT USE
21
- *
22
- * Feature is incomplete and API is subject to change at any time
20
+ * Custom theme for the top navigation. This is a port of Nav 3 functionality, and not recommended for new usage,
21
+ * as it does not align with our future vision.
23
22
  */
24
- UNSAFE_theme?: CustomTheme;
23
+ customTheme?: CustomTheme;
25
24
  };
26
25
  /**
27
26
  * The top nav layout area. It will display at the top of the screen, below the banner if one is present.
@@ -1,8 +1,3 @@
1
- /**
2
- * Returns a unique ID for use by layout elements and skip links.
3
- * You can use this for custom skip links.
4
- */
5
- export declare function useSkipLinkId(): string;
6
1
  /**
7
2
  * Returns an ID for use by the layout element and skip links.
8
3
  *
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Returns a unique ID for use by layout elements and skip links.
3
+ * You can use this for custom skip links.
4
+ */
5
+ export declare function useSkipLinkId(): string;
@@ -1,128 +1,7 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
1
  import React from 'react';
6
- import { type IconButtonProps } from '@atlaskit/button/new';
7
- import { type AnchorProps, type PressableProps } from '@atlaskit/primitives/compiled';
8
- type ButtonAppearance = 'default' | 'primary' | 'subtle';
9
- interface CommonProps {
10
- /**
11
- * The button style variation.
12
- */
13
- appearance?: ButtonAppearance;
14
- /**
15
- * Whether the button is disabled.
16
- */
17
- isDisabled?: boolean;
18
- /**
19
- * Indicates that the button is selected.
20
- */
21
- isSelected?: boolean;
22
- }
23
- /**
24
- * Props from primitives that we explicitly ignore and remove from spread props,
25
- * because they apply styles.
26
- *
27
- * `css` / `className` are not here because primitives don't support them.
28
- *
29
- * See `packages/design-system/primitives/src/components/anchor.tsx` and `packages/design-system/primitives/src/components/pressable.tsx`
30
- * for where these are defined. These shouldn't change very often as the direction is `xcss` over individual props.
31
- */
32
- type IgnoredPrimitiveProps = 'style' | 'xcss' | 'backgroundColor' | 'padding' | 'paddingBlock' | 'paddingBlockStart' | 'paddingBlockEnd' | 'paddingInline' | 'paddingInlineStart' | 'paddingInlineEnd';
33
- /**
34
- * Props present in underlying primitives but we want to override,
35
- * so we don't want to inherit their definitions
36
- */
37
- type OverridenPrimitiveProps = 'aria-label' | 'children' | IgnoredPrimitiveProps;
38
- /**
39
- * Props that are common between link buttons.
40
- */
41
- interface LinkVariantCommonProps<RouterLinkConfig extends Record<string, any> = never> extends CommonProps, Omit<AnchorProps<RouterLinkConfig>, OverridenPrimitiveProps> {
42
- }
43
- /**
44
- * Props shared by `Button` and `IconButton`
45
- */
46
- interface ActionVariantCommonProps extends CommonProps, Omit<PressableProps, OverridenPrimitiveProps> {
47
- }
48
- export declare const themedButtonBackground = "--ds-top-bar-button-background";
49
- export declare const themedButtonBackgroundHovered = "--ds-top-bar-button-background-hovered";
50
- export declare const themedButtonBackgroundPressed = "--ds-top-bar-button-background-pressed";
51
- export declare const themedButtonBorder = "--ds-top-bar-button-border";
52
- export declare const themedButtonPrimaryText = "--ds-top-bar-button-primary-text";
53
- export declare const themedButtonPrimaryBackground = "--ds-top-bar-button-primary-background";
54
- export declare const themedButtonPrimaryBackgroundHovered = "--ds-top-bar-button-primary-background-hovered";
55
- export declare const themedButtonPrimaryBackgroundPressed = "--ds-top-bar-button-primary-background-pressed";
56
- export declare const themedButtonSelectedText = "--ds-top-bar-button-selected-text";
57
- export declare const themedButtonSelectedBackground = "--ds-top-bar-button-selected-background";
58
- export declare const themedButtonSelectedBackgroundHovered = "--ds-top-bar-button-selected-background-hovered";
59
- export declare const themedButtonSelectedBackgroundPressed = "--ds-top-bar-button-selected-background-pressed";
60
- export declare const themedButtonSelectedBorder = "--ds-top-bar-button-selected-border";
61
- export declare const themedButtonDisabledText = "--ds-top-bar-button-disabled-text";
62
- export declare const themedButtonDisabledBackground = "--ds-top-bar-button-disabled-background";
63
- /**
64
- * Props shared by `Button` and `LinkButton`
65
- */
66
- interface TextButtonCommonProps {
67
- /**
68
- * Places an icon within the button, before the button's text.
69
- */
70
- iconBefore?: IconButtonProps['icon'];
71
- /**
72
- * Text content to be rendered in the button.
73
- */
74
- children: React.ReactNode;
75
- }
76
- export interface ThemedButtonProps extends ActionVariantCommonProps, TextButtonCommonProps {
77
- }
78
- /**
79
- * __Themed button__
80
- *
81
- * A themed button for the top bar.
82
- */
83
- export declare const ThemedButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedButtonProps> & React.RefAttributes<HTMLButtonElement>>;
84
- export interface ThemedLinkButtonProps<RouterLinkConfig extends Record<string, any> = never> extends LinkVariantCommonProps<RouterLinkConfig>, TextButtonCommonProps {
85
- }
86
- /**
87
- * __Themed link button__
88
- *
89
- * A themed link button for the top bar.
90
- */
91
- export declare const ThemedLinkButton: <RouterLinkConfig extends Record<string, any> = never>(props: ThemedLinkButtonProps<RouterLinkConfig> & React.RefAttributes<HTMLAnchorElement>) => React.ReactElement | null;
92
- /**
93
- * Props shared by `ThemedIconButtonProps` and `ThemedLinkIconButton`
94
- */
95
- interface IconButtonCommonProps {
96
- children?: never;
97
- 'aria-label'?: never;
98
- /**
99
- * Provide an accessible label, often used by screen readers.
100
- */
101
- label: React.ReactNode;
102
- /**
103
- * Places an icon within the button.
104
- */
105
- icon: IconButtonProps['icon'];
106
- /**
107
- * Props passed down to the Tooltip component.
108
- */
109
- tooltip?: IconButtonProps['tooltip'];
110
- }
111
- export interface ThemedIconButtonProps extends ActionVariantCommonProps, IconButtonCommonProps {
112
- }
113
- /**
114
- * __Themed icon button__
115
- *
116
- * A themed icon button for the top bar.
117
- */
118
- export declare const ThemedIconButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedIconButtonProps> & React.RefAttributes<HTMLButtonElement>>;
119
- export interface ThemedLinkIconButtonProps<RouterLinkConfig extends Record<string, any> = never> extends LinkVariantCommonProps<RouterLinkConfig>, IconButtonCommonProps {
120
- href: string | RouterLinkConfig;
121
- }
122
- /**
123
- * __Themed link icon button__
124
- *
125
- * A themed link icon button for the top bar.
126
- */
127
- export declare const ThemedLinkIconButton: <RouterLinkConfig extends Record<string, any> = never>(props: ThemedLinkIconButtonProps<RouterLinkConfig> & React.RefAttributes<HTMLAnchorElement>) => React.ReactElement | null;
2
+ import { type ThemedButtonProps } from './themed-button';
3
+ type IconButtonMigrationProps = {
4
+ isTooltipDisabled?: boolean;
5
+ };
6
+ export declare const Button: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedButtonProps & IconButtonMigrationProps> & React.RefAttributes<HTMLButtonElement>>;
128
7
  export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Props from primitives that we explicitly ignore and remove from spread props,
3
+ * because they apply styles.
4
+ *
5
+ * `css` / `className` are not here because primitives don't support them.
6
+ *
7
+ * See `packages/design-system/primitives/src/components/anchor.tsx` and `packages/design-system/primitives/src/components/pressable.tsx`
8
+ * for where these are defined. These shouldn't change very often as the direction is `xcss` over individual props.
9
+ */
10
+ export type IgnoredPrimitiveProps = 'style' | 'xcss' | 'backgroundColor' | 'padding' | 'paddingBlock' | 'paddingBlockStart' | 'paddingBlockEnd' | 'paddingInline' | 'paddingInlineStart' | 'paddingInlineEnd';
11
+ /**
12
+ * Returns the spread props to pass through to underlying primitive components.
13
+ *
14
+ * It removes the props which apply styles.
15
+ */
16
+ export declare function getPrimitiveSpreadProps<Props extends Record<string, unknown>>({ style, xcss, backgroundColor, padding, paddingBlock, paddingBlockStart, paddingBlockEnd, paddingInline, paddingInlineStart, paddingInlineEnd, ...props }: Props): Omit<Props, IgnoredPrimitiveProps>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type ThemedIconButtonProps } from './themed-icon-button';
3
+ type IconButtonMigrationProps = {
4
+ isTooltipDisabled?: boolean;
5
+ };
6
+ export declare const IconButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedIconButtonProps & IconButtonMigrationProps> & React.RefAttributes<HTMLButtonElement>>;
7
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type ThemedLinkButtonProps } from './themed-link-button';
3
+ export declare const LinkButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedLinkButtonProps> & React.RefAttributes<HTMLAnchorElement>>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type ThemedLinkIconButtonProps } from './themed-link-icon-button';
3
+ type IconButtonMigrationProps = {
4
+ isTooltipDisabled?: boolean;
5
+ };
6
+ export declare const LinkIconButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedLinkIconButtonProps & IconButtonMigrationProps> & React.RefAttributes<HTMLAnchorElement>>;
7
+ export {};
@@ -0,0 +1,14 @@
1
+ export declare const paletteRgba: {
2
+ DarkNeutral300A: {
3
+ r: number;
4
+ g: number;
5
+ b: number;
6
+ a: number;
7
+ };
8
+ Neutral300A: {
9
+ r: number;
10
+ g: number;
11
+ b: number;
12
+ a: number;
13
+ };
14
+ };
@@ -1,9 +1,3 @@
1
- /**
2
- * Copied from the brand refresh palette.
3
- *
4
- * Ideally we'd codegen this but the brand refresh palette isn't exposed
5
- * through public API and we shouldn't use the private API of another package.
6
- */
7
1
  export declare const palette: {
8
2
  'DarkNeutral-100': string;
9
3
  'DarkNeutral-100A': string;
@@ -46,17 +40,3 @@ export declare const palette: {
46
40
  Neutral1000: string;
47
41
  Neutral1100: string;
48
42
  };
49
- export declare const paletteRgba: {
50
- DarkNeutral300A: {
51
- r: number;
52
- g: number;
53
- b: number;
54
- a: number;
55
- };
56
- Neutral300A: {
57
- r: number;
58
- g: number;
59
- b: number;
60
- a: number;
61
- };
62
- };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
6
+ import { type AnchorProps } from '@atlaskit/primitives/compiled';
7
+ import type { CommonProps, OverriddenPrimitiveProps } from './types';
8
+ /**
9
+ * Props that are common between link buttons.
10
+ */
11
+ interface LinkVariantCommonProps<RouterLinkConfig extends Record<string, any> = never> extends CommonProps, Omit<AnchorProps<RouterLinkConfig>, OverriddenPrimitiveProps> {
12
+ }
13
+ /**
14
+ * Props shared by `ThemedPressable` and `ThemedAnchor`
15
+ */
16
+ interface ThemedPrimitiveProps {
17
+ shape?: 'default' | 'square';
18
+ children: React.ReactNode;
19
+ }
20
+ interface ThemedAnchorProps<RouterLinkConfig extends Record<string, any> = never> extends ThemedPrimitiveProps, LinkVariantCommonProps<RouterLinkConfig> {
21
+ }
22
+ /**
23
+ * Intentionally an almost-duplicate of `ThemedPressable` - make sure to update both.
24
+ *
25
+ * More 'clever' solutions were tried but I couldn't get them working in an acceptable state.
26
+ *
27
+ * Polymorphism had many typing issues and required sacrificing type safety.
28
+ *
29
+ * Render props had problems passing down styles through `xcss` to the `children` function.
30
+ */
31
+ export declare const ThemedAnchor: <RouterLinkConfig extends Record<string, any> = never>(props: ThemedAnchorProps<RouterLinkConfig> & React.RefAttributes<HTMLAnchorElement>) => React.ReactElement | null;
32
+ export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
6
+ import type { PressableProps } from '@atlaskit/primitives/compiled';
7
+ import type { CommonProps, OverriddenPrimitiveProps, TextButtonCommonProps } from './types';
8
+ export interface ThemedButtonProps extends CommonProps, Omit<PressableProps, OverriddenPrimitiveProps>, TextButtonCommonProps {
9
+ }
10
+ export declare const ThemedButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedButtonProps> & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import React from 'react';
6
+ import type { PressableProps } from '@atlaskit/primitives/compiled';
7
+ import type { CommonProps, IconButtonCommonProps, OverriddenPrimitiveProps } from './types';
8
+ export interface ThemedIconButtonProps extends CommonProps, Omit<PressableProps, OverriddenPrimitiveProps>, IconButtonCommonProps {
9
+ }
10
+ export declare const ThemedIconButton: React.ForwardRefExoticComponent<React.PropsWithoutRef<ThemedIconButtonProps> & React.RefAttributes<HTMLButtonElement>>;