@atlaskit/navigation-system 0.166.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 (1675) hide show
  1. package/CHANGELOG.md +3278 -0
  2. package/README.md +26 -0
  3. package/afm-cc/tsconfig.json +75 -0
  4. package/afm-jira/tsconfig.json +75 -0
  5. package/afm-passionfruit/tsconfig.json +75 -0
  6. package/afm-post-office/tsconfig.json +75 -0
  7. package/afm-townsquare/tsconfig.json +75 -0
  8. package/build/tsconfig.json +17 -0
  9. package/constellation/index/examples.mdx +44 -0
  10. package/constellation/index/props.mdx +1 -0
  11. package/constellation/layout/code.mdx +129 -0
  12. package/constellation/layout/diagram.tsx +125 -0
  13. package/constellation/layout/examples.mdx +197 -0
  14. package/constellation/side-navigation/code.mdx +89 -0
  15. package/constellation/side-navigation/drag-and-drop.mdx +1079 -0
  16. package/constellation/side-navigation/examples.mdx +120 -0
  17. package/constellation/top-navigation/code.mdx +93 -0
  18. package/constellation/top-navigation/examples.mdx +167 -0
  19. package/dist/cjs/components/badge-container.compiled.css +7 -0
  20. package/dist/cjs/components/badge-container.js +37 -0
  21. package/dist/cjs/components/forward-ref-with-generic.js +11 -0
  22. package/dist/cjs/components/list-item.js +30 -0
  23. package/dist/cjs/components/list.js +40 -0
  24. package/dist/cjs/components/skip-links/skip-link.compiled.css +1 -0
  25. package/dist/cjs/components/skip-links/skip-link.js +121 -0
  26. package/dist/cjs/components/skip-links/skip-links-container.compiled.css +21 -0
  27. package/dist/cjs/components/skip-links/skip-links-container.js +74 -0
  28. package/dist/cjs/context/skip-links/skip-links-context.js +68 -0
  29. package/dist/cjs/context/skip-links/skip-links-data-context.js +51 -0
  30. package/dist/cjs/context/skip-links/skip-links-provider.js +83 -0
  31. package/dist/cjs/context/skip-links/types.js +1 -0
  32. package/dist/cjs/context/top-nav-start/top-nav-start-context-provider.js +37 -0
  33. package/dist/cjs/context/top-nav-start/top-nav-start-context.js +26 -0
  34. package/dist/cjs/entry-points/experimental/color-utils/parse-hex.js +12 -0
  35. package/dist/cjs/entry-points/experimental/color-utils/parse-hsl.js +12 -0
  36. package/dist/cjs/entry-points/experimental/color-utils/parse-rgb.js +12 -0
  37. package/dist/cjs/entry-points/experimental/color-utils/parse-user-color.js +12 -0
  38. package/dist/cjs/entry-points/experimental/top-nav-button.js +30 -0
  39. package/dist/cjs/entry-points/experimental/use-has-custom-theme.js +12 -0
  40. package/dist/cjs/entry-points/experimental/use-legacy-search-theme.js +12 -0
  41. package/dist/cjs/entry-points/layout/aside.js +12 -0
  42. package/dist/cjs/entry-points/layout/banner.js +12 -0
  43. package/dist/cjs/entry-points/layout/main.js +38 -0
  44. package/dist/cjs/entry-points/layout/panel-splitter.js +19 -0
  45. package/dist/cjs/entry-points/layout/panel.js +12 -0
  46. package/dist/cjs/entry-points/layout/root.js +12 -0
  47. package/dist/cjs/entry-points/layout/side-nav.js +54 -0
  48. package/dist/cjs/entry-points/layout/skip-links.js +19 -0
  49. package/dist/cjs/entry-points/layout/top-nav.js +33 -0
  50. package/dist/cjs/entry-points/side-nav-items/button-menu-item.js +19 -0
  51. package/dist/cjs/entry-points/side-nav-items/container-avatar.js +12 -0
  52. package/dist/cjs/entry-points/side-nav-items/drag-and-drop/drag-preview.js +12 -0
  53. package/dist/cjs/entry-points/side-nav-items/drag-and-drop/drop-indicator.js +12 -0
  54. package/dist/cjs/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.js +12 -0
  55. package/dist/cjs/entry-points/side-nav-items/drag-and-drop/hitbox.js +18 -0
  56. package/dist/cjs/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.js +12 -0
  57. package/dist/cjs/entry-points/side-nav-items/expandable-menu-item.js +33 -0
  58. package/dist/cjs/entry-points/side-nav-items/flyout-menu-item.js +26 -0
  59. package/dist/cjs/entry-points/side-nav-items/link-menu-item.js +19 -0
  60. package/dist/cjs/entry-points/side-nav-items/menu-list-item.js +12 -0
  61. package/dist/cjs/entry-points/side-nav-items/menu-list.js +12 -0
  62. package/dist/cjs/entry-points/side-nav-items/menu-section.js +26 -0
  63. package/dist/cjs/entry-points/side-nav-items/top-level-spacer.js +12 -0
  64. package/dist/cjs/entry-points/top-nav-items/create-button.js +12 -0
  65. package/dist/cjs/entry-points/top-nav-items/custom-title.js +12 -0
  66. package/dist/cjs/entry-points/top-nav-items/help.js +12 -0
  67. package/dist/cjs/entry-points/top-nav-items/index.js +96 -0
  68. package/dist/cjs/entry-points/top-nav-items/log-in.js +12 -0
  69. package/dist/cjs/entry-points/top-nav-items/notifications.js +12 -0
  70. package/dist/cjs/entry-points/top-nav-items/profile.js +12 -0
  71. package/dist/cjs/entry-points/top-nav-items/settings.js +12 -0
  72. package/dist/cjs/index.js +327 -0
  73. package/dist/cjs/ui/menu-item/button-menu-item.js +63 -0
  74. package/dist/cjs/ui/menu-item/constants.js +21 -0
  75. package/dist/cjs/ui/menu-item/container-avatar.compiled.css +4 -0
  76. package/dist/cjs/ui/menu-item/container-avatar.js +34 -0
  77. package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.compiled.css +8 -0
  78. package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.js +63 -0
  79. package/dist/cjs/ui/menu-item/drag-and-drop/drop-indicator.js +12 -0
  80. package/dist/cjs/ui/menu-item/drag-and-drop/group-drop-indicator.js +12 -0
  81. package/dist/cjs/ui/menu-item/drag-and-drop/hitbox.js +18 -0
  82. package/dist/cjs/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +202 -0
  83. package/dist/cjs/ui/menu-item/drag-handle.compiled.css +9 -0
  84. package/dist/cjs/ui/menu-item/drag-handle.js +28 -0
  85. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
  86. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +50 -0
  87. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +64 -0
  88. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +14 -0
  89. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +11 -0
  90. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +136 -0
  91. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
  92. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.js +67 -0
  93. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +5 -0
  94. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +60 -0
  95. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +28 -0
  96. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
  97. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +68 -0
  98. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item.js +74 -0
  99. package/dist/cjs/ui/menu-item/link-menu-item.compiled.css +1 -0
  100. package/dist/cjs/ui/menu-item/link-menu-item.js +81 -0
  101. package/dist/cjs/ui/menu-item/menu-item-signals.js +11 -0
  102. package/dist/cjs/ui/menu-item/menu-item.compiled.css +95 -0
  103. package/dist/cjs/ui/menu-item/menu-item.js +422 -0
  104. package/dist/cjs/ui/menu-item/menu-list-item.js +18 -0
  105. package/dist/cjs/ui/menu-item/menu-list.js +14 -0
  106. package/dist/cjs/ui/menu-item/top-level-spacer.compiled.css +1 -0
  107. package/dist/cjs/ui/menu-item/top-level-spacer.js +46 -0
  108. package/dist/cjs/ui/menu-item/types.js +5 -0
  109. package/dist/cjs/ui/menu-item/use-scroll-menu-item-into-view.js +69 -0
  110. package/dist/cjs/ui/menu-section/divider.compiled.css +4 -0
  111. package/dist/cjs/ui/menu-section/divider.js +35 -0
  112. package/dist/cjs/ui/menu-section/menu-section-context.js +19 -0
  113. package/dist/cjs/ui/menu-section/menu-section-heading.compiled.css +4 -0
  114. package/dist/cjs/ui/menu-section/menu-section-heading.js +30 -0
  115. package/dist/cjs/ui/menu-section/menu-section.js +49 -0
  116. package/dist/cjs/ui/page-layout/aside.compiled.css +8 -0
  117. package/dist/cjs/ui/page-layout/aside.js +159 -0
  118. package/dist/cjs/ui/page-layout/banner.compiled.css +7 -0
  119. package/dist/cjs/ui/page-layout/banner.js +70 -0
  120. package/dist/cjs/ui/page-layout/constants.js +61 -0
  121. package/dist/cjs/ui/page-layout/hoist-slot-sizes-context.js +12 -0
  122. package/dist/cjs/ui/page-layout/hoist-utils.js +57 -0
  123. package/dist/cjs/ui/page-layout/id-utils.js +32 -0
  124. package/dist/cjs/ui/page-layout/main/main-sticky-context.js +11 -0
  125. package/dist/cjs/ui/page-layout/main/main-sticky-header.compiled.css +4 -0
  126. package/dist/cjs/ui/page-layout/main/main-sticky-header.js +33 -0
  127. package/dist/cjs/ui/page-layout/main/main.compiled.css +6 -0
  128. package/dist/cjs/ui/page-layout/main/main.js +49 -0
  129. package/dist/cjs/ui/page-layout/panel-splitter/context.js +14 -0
  130. package/dist/cjs/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.js +24 -0
  131. package/dist/cjs/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.js +32 -0
  132. package/dist/cjs/ui/page-layout/panel-splitter/get-width.js +31 -0
  133. package/dist/cjs/ui/page-layout/panel-splitter/keyboard-resize-manager.js +82 -0
  134. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.compiled.css +34 -0
  135. package/dist/cjs/ui/page-layout/panel-splitter/panel-splitter.js +342 -0
  136. package/dist/cjs/ui/page-layout/panel-splitter/provider.js +47 -0
  137. package/dist/cjs/ui/page-layout/panel-splitter/types.js +1 -0
  138. package/dist/cjs/ui/page-layout/panel-splitter/use-text-direction.js +23 -0
  139. package/dist/cjs/ui/page-layout/panel.compiled.css +19 -0
  140. package/dist/cjs/ui/page-layout/panel.js +195 -0
  141. package/dist/cjs/ui/page-layout/root.compiled.css +8 -0
  142. package/dist/cjs/ui/page-layout/root.js +65 -0
  143. package/dist/cjs/ui/page-layout/side-nav/element-context.js +29 -0
  144. package/dist/cjs/ui/page-layout/side-nav/flyout-close-delay-ms.js +18 -0
  145. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.compiled.css +9 -0
  146. package/dist/cjs/ui/page-layout/side-nav/side-nav-content.js +37 -0
  147. package/dist/cjs/ui/page-layout/side-nav/side-nav-footer.compiled.css +7 -0
  148. package/dist/cjs/ui/page-layout/side-nav/side-nav-footer.js +26 -0
  149. package/dist/cjs/ui/page-layout/side-nav/side-nav-header.compiled.css +3 -0
  150. package/dist/cjs/ui/page-layout/side-nav/side-nav-header.js +25 -0
  151. package/dist/cjs/ui/page-layout/side-nav/side-nav.compiled.css +20 -0
  152. package/dist/cjs/ui/page-layout/side-nav/side-nav.js +608 -0
  153. package/dist/cjs/ui/page-layout/side-nav/toggle-button-context.js +26 -0
  154. package/dist/cjs/ui/page-layout/side-nav/toggle-button-provider.js +37 -0
  155. package/dist/cjs/ui/page-layout/side-nav/toggle-button.compiled.css +2 -0
  156. package/dist/cjs/ui/page-layout/side-nav/toggle-button.js +119 -0
  157. package/dist/cjs/ui/page-layout/side-nav/types.js +1 -0
  158. package/dist/cjs/ui/page-layout/side-nav/use-expand-side-nav.js +56 -0
  159. package/dist/cjs/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.js +74 -0
  160. package/dist/cjs/ui/page-layout/side-nav/use-side-nav-visibility.js +34 -0
  161. package/dist/cjs/ui/page-layout/side-nav/use-toggle-side-nav.js +46 -0
  162. package/dist/cjs/ui/page-layout/side-nav/visibility-context.js +19 -0
  163. package/dist/cjs/ui/page-layout/side-nav/visibility-provider.js +28 -0
  164. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.compiled.css +10 -0
  165. package/dist/cjs/ui/page-layout/top-nav/top-nav-end.js +103 -0
  166. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.compiled.css +8 -0
  167. package/dist/cjs/ui/page-layout/top-nav/top-nav-middle.js +32 -0
  168. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.compiled.css +7 -0
  169. package/dist/cjs/ui/page-layout/top-nav/top-nav-start.js +43 -0
  170. package/dist/cjs/ui/page-layout/top-nav/top-nav.compiled.css +16 -0
  171. package/dist/cjs/ui/page-layout/top-nav/top-nav.js +71 -0
  172. package/dist/cjs/ui/page-layout/types.js +1 -0
  173. package/dist/cjs/ui/page-layout/use-resizing-width-css-var-on-root-element.js +67 -0
  174. package/dist/cjs/ui/top-nav-items/app-switcher.js +48 -0
  175. package/dist/cjs/ui/top-nav-items/chat-button.js +30 -0
  176. package/dist/cjs/ui/top-nav-items/create-button.js +31 -0
  177. package/dist/cjs/ui/top-nav-items/custom-title.compiled.css +11 -0
  178. package/dist/cjs/ui/top-nav-items/custom-title.js +36 -0
  179. package/dist/cjs/ui/top-nav-items/end-item.js +48 -0
  180. package/dist/cjs/ui/top-nav-items/help.js +60 -0
  181. package/dist/cjs/ui/top-nav-items/log-in.js +48 -0
  182. package/dist/cjs/ui/top-nav-items/nav-logo.compiled.css +22 -0
  183. package/dist/cjs/ui/top-nav-items/nav-logo.js +127 -0
  184. package/dist/cjs/ui/top-nav-items/notifications.js +55 -0
  185. package/dist/cjs/ui/top-nav-items/profile.js +35 -0
  186. package/dist/cjs/ui/top-nav-items/search.compiled.css +20 -0
  187. package/dist/cjs/ui/top-nav-items/search.js +68 -0
  188. package/dist/cjs/ui/top-nav-items/settings.js +24 -0
  189. package/dist/cjs/ui/top-nav-items/themed/button.compiled.css +58 -0
  190. package/dist/cjs/ui/top-nav-items/themed/button.js +352 -0
  191. package/dist/cjs/ui/top-nav-items/themed/color-utils/formats/hex.js +51 -0
  192. package/dist/cjs/ui/top-nav-items/themed/color-utils/formats/hsl.js +126 -0
  193. package/dist/cjs/ui/top-nav-items/themed/color-utils/formats/rgb.js +55 -0
  194. package/dist/cjs/ui/top-nav-items/themed/color-utils/index.js +118 -0
  195. package/dist/cjs/ui/top-nav-items/themed/color-utils/parse-user-color.js +32 -0
  196. package/dist/cjs/ui/top-nav-items/themed/color-utils/types.js +1 -0
  197. package/dist/cjs/ui/top-nav-items/themed/get-custom-theme-styles.js +112 -0
  198. package/dist/cjs/ui/top-nav-items/themed/has-custom-theme-context.js +19 -0
  199. package/dist/cjs/ui/top-nav-items/themed/migration.js +53 -0
  200. package/dist/cjs/ui/top-nav-items/themed/palette.js +68 -0
  201. package/dist/cjs/ui/top-nav-items/themed/search.js +71 -0
  202. package/dist/cjs/ui/top-nav-items/themed/use-custom-theme.js +50 -0
  203. package/dist/es2019/components/badge-container.compiled.css +7 -0
  204. package/dist/es2019/components/badge-container.js +27 -0
  205. package/dist/es2019/components/forward-ref-with-generic.js +6 -0
  206. package/dist/es2019/components/list-item.js +23 -0
  207. package/dist/es2019/components/list.js +33 -0
  208. package/dist/es2019/components/skip-links/skip-link.compiled.css +1 -0
  209. package/dist/es2019/components/skip-links/skip-link.js +114 -0
  210. package/dist/es2019/components/skip-links/skip-links-container.compiled.css +21 -0
  211. package/dist/es2019/components/skip-links/skip-links-container.js +66 -0
  212. package/dist/es2019/context/skip-links/skip-links-context.js +61 -0
  213. package/dist/es2019/context/skip-links/skip-links-data-context.js +33 -0
  214. package/dist/es2019/context/skip-links/skip-links-provider.js +70 -0
  215. package/dist/es2019/context/skip-links/types.js +0 -0
  216. package/dist/es2019/context/top-nav-start/top-nav-start-context-provider.js +26 -0
  217. package/dist/es2019/context/top-nav-start/top-nav-start-context.js +20 -0
  218. package/dist/es2019/entry-points/experimental/color-utils/parse-hex.js +1 -0
  219. package/dist/es2019/entry-points/experimental/color-utils/parse-hsl.js +1 -0
  220. package/dist/es2019/entry-points/experimental/color-utils/parse-rgb.js +1 -0
  221. package/dist/es2019/entry-points/experimental/color-utils/parse-user-color.js +1 -0
  222. package/dist/es2019/entry-points/experimental/top-nav-button.js +1 -0
  223. package/dist/es2019/entry-points/experimental/use-has-custom-theme.js +1 -0
  224. package/dist/es2019/entry-points/experimental/use-legacy-search-theme.js +1 -0
  225. package/dist/es2019/entry-points/layout/aside.js +1 -0
  226. package/dist/es2019/entry-points/layout/banner.js +1 -0
  227. package/dist/es2019/entry-points/layout/main.js +3 -0
  228. package/dist/es2019/entry-points/layout/panel-splitter.js +2 -0
  229. package/dist/es2019/entry-points/layout/panel.js +1 -0
  230. package/dist/es2019/entry-points/layout/root.js +1 -0
  231. package/dist/es2019/entry-points/layout/side-nav.js +7 -0
  232. package/dist/es2019/entry-points/layout/skip-links.js +2 -0
  233. package/dist/es2019/entry-points/layout/top-nav.js +4 -0
  234. package/dist/es2019/entry-points/side-nav-items/button-menu-item.js +2 -0
  235. package/dist/es2019/entry-points/side-nav-items/container-avatar.js +1 -0
  236. package/dist/es2019/entry-points/side-nav-items/drag-and-drop/drag-preview.js +1 -0
  237. package/dist/es2019/entry-points/side-nav-items/drag-and-drop/drop-indicator.js +1 -0
  238. package/dist/es2019/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.js +1 -0
  239. package/dist/es2019/entry-points/side-nav-items/drag-and-drop/hitbox.js +1 -0
  240. package/dist/es2019/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.js +1 -0
  241. package/dist/es2019/entry-points/side-nav-items/expandable-menu-item.js +4 -0
  242. package/dist/es2019/entry-points/side-nav-items/flyout-menu-item.js +3 -0
  243. package/dist/es2019/entry-points/side-nav-items/link-menu-item.js +2 -0
  244. package/dist/es2019/entry-points/side-nav-items/menu-list-item.js +1 -0
  245. package/dist/es2019/entry-points/side-nav-items/menu-list.js +1 -0
  246. package/dist/es2019/entry-points/side-nav-items/menu-section.js +3 -0
  247. package/dist/es2019/entry-points/side-nav-items/top-level-spacer.js +1 -0
  248. package/dist/es2019/entry-points/top-nav-items/create-button.js +1 -0
  249. package/dist/es2019/entry-points/top-nav-items/custom-title.js +1 -0
  250. package/dist/es2019/entry-points/top-nav-items/help.js +1 -0
  251. package/dist/es2019/entry-points/top-nav-items/index.js +13 -0
  252. package/dist/es2019/entry-points/top-nav-items/log-in.js +1 -0
  253. package/dist/es2019/entry-points/top-nav-items/notifications.js +1 -0
  254. package/dist/es2019/entry-points/top-nav-items/profile.js +1 -0
  255. package/dist/es2019/entry-points/top-nav-items/settings.js +1 -0
  256. package/dist/es2019/index.js +46 -0
  257. package/dist/es2019/ui/menu-item/button-menu-item.js +55 -0
  258. package/dist/es2019/ui/menu-item/constants.js +15 -0
  259. package/dist/es2019/ui/menu-item/container-avatar.compiled.css +4 -0
  260. package/dist/es2019/ui/menu-item/container-avatar.js +25 -0
  261. package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.compiled.css +8 -0
  262. package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.js +58 -0
  263. package/dist/es2019/ui/menu-item/drag-and-drop/drop-indicator.js +7 -0
  264. package/dist/es2019/ui/menu-item/drag-and-drop/group-drop-indicator.js +7 -0
  265. package/dist/es2019/ui/menu-item/drag-and-drop/hitbox.js +7 -0
  266. package/dist/es2019/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +192 -0
  267. package/dist/es2019/ui/menu-item/drag-handle.compiled.css +9 -0
  268. package/dist/es2019/ui/menu-item/drag-handle.js +19 -0
  269. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
  270. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +43 -0
  271. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +53 -0
  272. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +9 -0
  273. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +11 -0
  274. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +127 -0
  275. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
  276. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.js +52 -0
  277. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +5 -0
  278. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +51 -0
  279. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +18 -0
  280. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
  281. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +57 -0
  282. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item.js +59 -0
  283. package/dist/es2019/ui/menu-item/link-menu-item.compiled.css +1 -0
  284. package/dist/es2019/ui/menu-item/link-menu-item.js +73 -0
  285. package/dist/es2019/ui/menu-item/menu-item-signals.js +5 -0
  286. package/dist/es2019/ui/menu-item/menu-item.compiled.css +95 -0
  287. package/dist/es2019/ui/menu-item/menu-item.js +406 -0
  288. package/dist/es2019/ui/menu-item/menu-list-item.js +12 -0
  289. package/dist/es2019/ui/menu-item/menu-list.js +9 -0
  290. package/dist/es2019/ui/menu-item/top-level-spacer.compiled.css +1 -0
  291. package/dist/es2019/ui/menu-item/top-level-spacer.js +38 -0
  292. package/dist/es2019/ui/menu-item/types.js +1 -0
  293. package/dist/es2019/ui/menu-item/use-scroll-menu-item-into-view.js +63 -0
  294. package/dist/es2019/ui/menu-section/divider.compiled.css +4 -0
  295. package/dist/es2019/ui/menu-section/divider.js +22 -0
  296. package/dist/es2019/ui/menu-section/menu-section-context.js +13 -0
  297. package/dist/es2019/ui/menu-section/menu-section-heading.compiled.css +4 -0
  298. package/dist/es2019/ui/menu-section/menu-section-heading.js +23 -0
  299. package/dist/es2019/ui/menu-section/menu-section.js +42 -0
  300. package/dist/es2019/ui/page-layout/aside.compiled.css +8 -0
  301. package/dist/es2019/ui/page-layout/aside.js +145 -0
  302. package/dist/es2019/ui/page-layout/banner.compiled.css +7 -0
  303. package/dist/es2019/ui/page-layout/banner.js +62 -0
  304. package/dist/es2019/ui/page-layout/constants.js +55 -0
  305. package/dist/es2019/ui/page-layout/hoist-slot-sizes-context.js +7 -0
  306. package/dist/es2019/ui/page-layout/hoist-utils.js +49 -0
  307. package/dist/es2019/ui/page-layout/id-utils.js +26 -0
  308. package/dist/es2019/ui/page-layout/main/main-sticky-context.js +6 -0
  309. package/dist/es2019/ui/page-layout/main/main-sticky-header.compiled.css +4 -0
  310. package/dist/es2019/ui/page-layout/main/main-sticky-header.js +26 -0
  311. package/dist/es2019/ui/page-layout/main/main.compiled.css +6 -0
  312. package/dist/es2019/ui/page-layout/main/main.js +41 -0
  313. package/dist/es2019/ui/page-layout/panel-splitter/context.js +9 -0
  314. package/dist/es2019/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.js +18 -0
  315. package/dist/es2019/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.js +27 -0
  316. package/dist/es2019/ui/page-layout/panel-splitter/get-width.js +27 -0
  317. package/dist/es2019/ui/page-layout/panel-splitter/keyboard-resize-manager.js +79 -0
  318. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.compiled.css +34 -0
  319. package/dist/es2019/ui/page-layout/panel-splitter/panel-splitter.js +318 -0
  320. package/dist/es2019/ui/page-layout/panel-splitter/provider.js +36 -0
  321. package/dist/es2019/ui/page-layout/panel-splitter/types.js +0 -0
  322. package/dist/es2019/ui/page-layout/panel-splitter/use-text-direction.js +17 -0
  323. package/dist/es2019/ui/page-layout/panel.compiled.css +19 -0
  324. package/dist/es2019/ui/page-layout/panel.js +182 -0
  325. package/dist/es2019/ui/page-layout/root.compiled.css +8 -0
  326. package/dist/es2019/ui/page-layout/root.js +65 -0
  327. package/dist/es2019/ui/page-layout/side-nav/element-context.js +21 -0
  328. package/dist/es2019/ui/page-layout/side-nav/flyout-close-delay-ms.js +12 -0
  329. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.compiled.css +9 -0
  330. package/dist/es2019/ui/page-layout/side-nav/side-nav-content.js +30 -0
  331. package/dist/es2019/ui/page-layout/side-nav/side-nav-footer.compiled.css +7 -0
  332. package/dist/es2019/ui/page-layout/side-nav/side-nav-footer.js +22 -0
  333. package/dist/es2019/ui/page-layout/side-nav/side-nav-header.compiled.css +3 -0
  334. package/dist/es2019/ui/page-layout/side-nav/side-nav-header.js +18 -0
  335. package/dist/es2019/ui/page-layout/side-nav/side-nav.compiled.css +20 -0
  336. package/dist/es2019/ui/page-layout/side-nav/side-nav.js +601 -0
  337. package/dist/es2019/ui/page-layout/side-nav/toggle-button-context.js +19 -0
  338. package/dist/es2019/ui/page-layout/side-nav/toggle-button-provider.js +26 -0
  339. package/dist/es2019/ui/page-layout/side-nav/toggle-button.compiled.css +2 -0
  340. package/dist/es2019/ui/page-layout/side-nav/toggle-button.js +106 -0
  341. package/dist/es2019/ui/page-layout/side-nav/types.js +0 -0
  342. package/dist/es2019/ui/page-layout/side-nav/use-expand-side-nav.js +50 -0
  343. package/dist/es2019/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.js +68 -0
  344. package/dist/es2019/ui/page-layout/side-nav/use-side-nav-visibility.js +27 -0
  345. package/dist/es2019/ui/page-layout/side-nav/use-toggle-side-nav.js +40 -0
  346. package/dist/es2019/ui/page-layout/side-nav/visibility-context.js +12 -0
  347. package/dist/es2019/ui/page-layout/side-nav/visibility-provider.js +17 -0
  348. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.compiled.css +10 -0
  349. package/dist/es2019/ui/page-layout/top-nav/top-nav-end.js +78 -0
  350. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.compiled.css +8 -0
  351. package/dist/es2019/ui/page-layout/top-nav/top-nav-middle.js +26 -0
  352. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.compiled.css +7 -0
  353. package/dist/es2019/ui/page-layout/top-nav/top-nav-start.js +36 -0
  354. package/dist/es2019/ui/page-layout/top-nav/top-nav.compiled.css +16 -0
  355. package/dist/es2019/ui/page-layout/top-nav/top-nav.js +62 -0
  356. package/dist/es2019/ui/page-layout/types.js +0 -0
  357. package/dist/es2019/ui/page-layout/use-resizing-width-css-var-on-root-element.js +64 -0
  358. package/dist/es2019/ui/top-nav-items/app-switcher.js +38 -0
  359. package/dist/es2019/ui/top-nav-items/chat-button.js +23 -0
  360. package/dist/es2019/ui/top-nav-items/create-button.js +21 -0
  361. package/dist/es2019/ui/top-nav-items/custom-title.compiled.css +11 -0
  362. package/dist/es2019/ui/top-nav-items/custom-title.js +29 -0
  363. package/dist/es2019/ui/top-nav-items/end-item.js +40 -0
  364. package/dist/es2019/ui/top-nav-items/help.js +51 -0
  365. package/dist/es2019/ui/top-nav-items/log-in.js +37 -0
  366. package/dist/es2019/ui/top-nav-items/nav-logo.compiled.css +22 -0
  367. package/dist/es2019/ui/top-nav-items/nav-logo.js +122 -0
  368. package/dist/es2019/ui/top-nav-items/notifications.js +47 -0
  369. package/dist/es2019/ui/top-nav-items/profile.js +23 -0
  370. package/dist/es2019/ui/top-nav-items/search.compiled.css +20 -0
  371. package/dist/es2019/ui/top-nav-items/search.js +57 -0
  372. package/dist/es2019/ui/top-nav-items/settings.js +13 -0
  373. package/dist/es2019/ui/top-nav-items/themed/button.compiled.css +58 -0
  374. package/dist/es2019/ui/top-nav-items/themed/button.js +333 -0
  375. package/dist/es2019/ui/top-nav-items/themed/color-utils/formats/hex.js +42 -0
  376. package/dist/es2019/ui/top-nav-items/themed/color-utils/formats/hsl.js +113 -0
  377. package/dist/es2019/ui/top-nav-items/themed/color-utils/formats/rgb.js +37 -0
  378. package/dist/es2019/ui/top-nav-items/themed/color-utils/index.js +111 -0
  379. package/dist/es2019/ui/top-nav-items/themed/color-utils/parse-user-color.js +26 -0
  380. package/dist/es2019/ui/top-nav-items/themed/color-utils/types.js +0 -0
  381. package/dist/es2019/ui/top-nav-items/themed/get-custom-theme-styles.js +158 -0
  382. package/dist/es2019/ui/top-nav-items/themed/has-custom-theme-context.js +13 -0
  383. package/dist/es2019/ui/top-nav-items/themed/migration.js +45 -0
  384. package/dist/es2019/ui/top-nav-items/themed/palette.js +62 -0
  385. package/dist/es2019/ui/top-nav-items/themed/search.js +64 -0
  386. package/dist/es2019/ui/top-nav-items/themed/use-custom-theme.js +44 -0
  387. package/dist/esm/components/badge-container.compiled.css +7 -0
  388. package/dist/esm/components/badge-container.js +29 -0
  389. package/dist/esm/components/forward-ref-with-generic.js +6 -0
  390. package/dist/esm/components/list-item.js +22 -0
  391. package/dist/esm/components/list.js +32 -0
  392. package/dist/esm/components/skip-links/skip-link.compiled.css +1 -0
  393. package/dist/esm/components/skip-links/skip-link.js +113 -0
  394. package/dist/esm/components/skip-links/skip-links-container.compiled.css +21 -0
  395. package/dist/esm/components/skip-links/skip-links-container.js +66 -0
  396. package/dist/esm/context/skip-links/skip-links-context.js +61 -0
  397. package/dist/esm/context/skip-links/skip-links-data-context.js +44 -0
  398. package/dist/esm/context/skip-links/skip-links-provider.js +74 -0
  399. package/dist/esm/context/skip-links/types.js +0 -0
  400. package/dist/esm/context/top-nav-start/top-nav-start-context-provider.js +29 -0
  401. package/dist/esm/context/top-nav-start/top-nav-start-context.js +20 -0
  402. package/dist/esm/entry-points/experimental/color-utils/parse-hex.js +1 -0
  403. package/dist/esm/entry-points/experimental/color-utils/parse-hsl.js +1 -0
  404. package/dist/esm/entry-points/experimental/color-utils/parse-rgb.js +1 -0
  405. package/dist/esm/entry-points/experimental/color-utils/parse-user-color.js +1 -0
  406. package/dist/esm/entry-points/experimental/top-nav-button.js +1 -0
  407. package/dist/esm/entry-points/experimental/use-has-custom-theme.js +1 -0
  408. package/dist/esm/entry-points/experimental/use-legacy-search-theme.js +1 -0
  409. package/dist/esm/entry-points/layout/aside.js +1 -0
  410. package/dist/esm/entry-points/layout/banner.js +1 -0
  411. package/dist/esm/entry-points/layout/main.js +3 -0
  412. package/dist/esm/entry-points/layout/panel-splitter.js +2 -0
  413. package/dist/esm/entry-points/layout/panel.js +1 -0
  414. package/dist/esm/entry-points/layout/root.js +1 -0
  415. package/dist/esm/entry-points/layout/side-nav.js +7 -0
  416. package/dist/esm/entry-points/layout/skip-links.js +2 -0
  417. package/dist/esm/entry-points/layout/top-nav.js +4 -0
  418. package/dist/esm/entry-points/side-nav-items/button-menu-item.js +2 -0
  419. package/dist/esm/entry-points/side-nav-items/container-avatar.js +1 -0
  420. package/dist/esm/entry-points/side-nav-items/drag-and-drop/drag-preview.js +1 -0
  421. package/dist/esm/entry-points/side-nav-items/drag-and-drop/drop-indicator.js +1 -0
  422. package/dist/esm/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.js +1 -0
  423. package/dist/esm/entry-points/side-nav-items/drag-and-drop/hitbox.js +1 -0
  424. package/dist/esm/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.js +1 -0
  425. package/dist/esm/entry-points/side-nav-items/expandable-menu-item.js +4 -0
  426. package/dist/esm/entry-points/side-nav-items/flyout-menu-item.js +3 -0
  427. package/dist/esm/entry-points/side-nav-items/link-menu-item.js +2 -0
  428. package/dist/esm/entry-points/side-nav-items/menu-list-item.js +1 -0
  429. package/dist/esm/entry-points/side-nav-items/menu-list.js +1 -0
  430. package/dist/esm/entry-points/side-nav-items/menu-section.js +3 -0
  431. package/dist/esm/entry-points/side-nav-items/top-level-spacer.js +1 -0
  432. package/dist/esm/entry-points/top-nav-items/create-button.js +1 -0
  433. package/dist/esm/entry-points/top-nav-items/custom-title.js +1 -0
  434. package/dist/esm/entry-points/top-nav-items/help.js +1 -0
  435. package/dist/esm/entry-points/top-nav-items/index.js +13 -0
  436. package/dist/esm/entry-points/top-nav-items/log-in.js +1 -0
  437. package/dist/esm/entry-points/top-nav-items/notifications.js +1 -0
  438. package/dist/esm/entry-points/top-nav-items/profile.js +1 -0
  439. package/dist/esm/entry-points/top-nav-items/settings.js +1 -0
  440. package/dist/esm/index.js +46 -0
  441. package/dist/esm/ui/menu-item/button-menu-item.js +56 -0
  442. package/dist/esm/ui/menu-item/constants.js +15 -0
  443. package/dist/esm/ui/menu-item/container-avatar.compiled.css +4 -0
  444. package/dist/esm/ui/menu-item/container-avatar.js +26 -0
  445. package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.compiled.css +8 -0
  446. package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.js +56 -0
  447. package/dist/esm/ui/menu-item/drag-and-drop/drop-indicator.js +7 -0
  448. package/dist/esm/ui/menu-item/drag-and-drop/group-drop-indicator.js +7 -0
  449. package/dist/esm/ui/menu-item/drag-and-drop/hitbox.js +7 -0
  450. package/dist/esm/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +193 -0
  451. package/dist/esm/ui/menu-item/drag-handle.compiled.css +9 -0
  452. package/dist/esm/ui/menu-item/drag-handle.js +19 -0
  453. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
  454. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +42 -0
  455. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +57 -0
  456. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +9 -0
  457. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +11 -0
  458. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +127 -0
  459. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
  460. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.js +58 -0
  461. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +5 -0
  462. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +52 -0
  463. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +22 -0
  464. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
  465. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +59 -0
  466. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item.js +65 -0
  467. package/dist/esm/ui/menu-item/link-menu-item.compiled.css +1 -0
  468. package/dist/esm/ui/menu-item/link-menu-item.js +72 -0
  469. package/dist/esm/ui/menu-item/menu-item-signals.js +5 -0
  470. package/dist/esm/ui/menu-item/menu-item.compiled.css +95 -0
  471. package/dist/esm/ui/menu-item/menu-item.js +411 -0
  472. package/dist/esm/ui/menu-item/menu-list-item.js +12 -0
  473. package/dist/esm/ui/menu-item/menu-list.js +9 -0
  474. package/dist/esm/ui/menu-item/top-level-spacer.compiled.css +1 -0
  475. package/dist/esm/ui/menu-item/top-level-spacer.js +38 -0
  476. package/dist/esm/ui/menu-item/types.js +1 -0
  477. package/dist/esm/ui/menu-item/use-scroll-menu-item-into-view.js +62 -0
  478. package/dist/esm/ui/menu-section/divider.compiled.css +4 -0
  479. package/dist/esm/ui/menu-section/divider.js +27 -0
  480. package/dist/esm/ui/menu-section/menu-section-context.js +13 -0
  481. package/dist/esm/ui/menu-section/menu-section-heading.compiled.css +4 -0
  482. package/dist/esm/ui/menu-section/menu-section-heading.js +22 -0
  483. package/dist/esm/ui/menu-section/menu-section.js +42 -0
  484. package/dist/esm/ui/page-layout/aside.compiled.css +8 -0
  485. package/dist/esm/ui/page-layout/aside.js +150 -0
  486. package/dist/esm/ui/page-layout/banner.compiled.css +7 -0
  487. package/dist/esm/ui/page-layout/banner.js +62 -0
  488. package/dist/esm/ui/page-layout/constants.js +55 -0
  489. package/dist/esm/ui/page-layout/hoist-slot-sizes-context.js +7 -0
  490. package/dist/esm/ui/page-layout/hoist-utils.js +51 -0
  491. package/dist/esm/ui/page-layout/id-utils.js +26 -0
  492. package/dist/esm/ui/page-layout/main/main-sticky-context.js +6 -0
  493. package/dist/esm/ui/page-layout/main/main-sticky-header.compiled.css +4 -0
  494. package/dist/esm/ui/page-layout/main/main-sticky-header.js +25 -0
  495. package/dist/esm/ui/page-layout/main/main.compiled.css +6 -0
  496. package/dist/esm/ui/page-layout/main/main.js +41 -0
  497. package/dist/esm/ui/page-layout/panel-splitter/context.js +9 -0
  498. package/dist/esm/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.js +18 -0
  499. package/dist/esm/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.js +26 -0
  500. package/dist/esm/ui/page-layout/panel-splitter/get-width.js +25 -0
  501. package/dist/esm/ui/page-layout/panel-splitter/keyboard-resize-manager.js +76 -0
  502. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.compiled.css +34 -0
  503. package/dist/esm/ui/page-layout/panel-splitter/panel-splitter.js +332 -0
  504. package/dist/esm/ui/page-layout/panel-splitter/provider.js +39 -0
  505. package/dist/esm/ui/page-layout/panel-splitter/types.js +0 -0
  506. package/dist/esm/ui/page-layout/panel-splitter/use-text-direction.js +18 -0
  507. package/dist/esm/ui/page-layout/panel.compiled.css +19 -0
  508. package/dist/esm/ui/page-layout/panel.js +186 -0
  509. package/dist/esm/ui/page-layout/root.compiled.css +8 -0
  510. package/dist/esm/ui/page-layout/root.js +57 -0
  511. package/dist/esm/ui/page-layout/side-nav/element-context.js +20 -0
  512. package/dist/esm/ui/page-layout/side-nav/flyout-close-delay-ms.js +12 -0
  513. package/dist/esm/ui/page-layout/side-nav/side-nav-content.compiled.css +9 -0
  514. package/dist/esm/ui/page-layout/side-nav/side-nav-content.js +29 -0
  515. package/dist/esm/ui/page-layout/side-nav/side-nav-footer.compiled.css +7 -0
  516. package/dist/esm/ui/page-layout/side-nav/side-nav-footer.js +18 -0
  517. package/dist/esm/ui/page-layout/side-nav/side-nav-header.compiled.css +3 -0
  518. package/dist/esm/ui/page-layout/side-nav/side-nav-header.js +17 -0
  519. package/dist/esm/ui/page-layout/side-nav/side-nav.compiled.css +20 -0
  520. package/dist/esm/ui/page-layout/side-nav/side-nav.js +599 -0
  521. package/dist/esm/ui/page-layout/side-nav/toggle-button-context.js +19 -0
  522. package/dist/esm/ui/page-layout/side-nav/toggle-button-provider.js +29 -0
  523. package/dist/esm/ui/page-layout/side-nav/toggle-button.compiled.css +2 -0
  524. package/dist/esm/ui/page-layout/side-nav/toggle-button.js +110 -0
  525. package/dist/esm/ui/page-layout/side-nav/types.js +0 -0
  526. package/dist/esm/ui/page-layout/side-nav/use-expand-side-nav.js +49 -0
  527. package/dist/esm/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.js +67 -0
  528. package/dist/esm/ui/page-layout/side-nav/use-side-nav-visibility.js +28 -0
  529. package/dist/esm/ui/page-layout/side-nav/use-toggle-side-nav.js +39 -0
  530. package/dist/esm/ui/page-layout/side-nav/visibility-context.js +12 -0
  531. package/dist/esm/ui/page-layout/side-nav/visibility-provider.js +20 -0
  532. package/dist/esm/ui/page-layout/top-nav/top-nav-end.compiled.css +10 -0
  533. package/dist/esm/ui/page-layout/top-nav/top-nav-end.js +94 -0
  534. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.compiled.css +8 -0
  535. package/dist/esm/ui/page-layout/top-nav/top-nav-middle.js +25 -0
  536. package/dist/esm/ui/page-layout/top-nav/top-nav-start.compiled.css +7 -0
  537. package/dist/esm/ui/page-layout/top-nav/top-nav-start.js +35 -0
  538. package/dist/esm/ui/page-layout/top-nav/top-nav.compiled.css +16 -0
  539. package/dist/esm/ui/page-layout/top-nav/top-nav.js +63 -0
  540. package/dist/esm/ui/page-layout/types.js +0 -0
  541. package/dist/esm/ui/page-layout/use-resizing-width-css-var-on-root-element.js +62 -0
  542. package/dist/esm/ui/top-nav-items/app-switcher.js +39 -0
  543. package/dist/esm/ui/top-nav-items/chat-button.js +24 -0
  544. package/dist/esm/ui/top-nav-items/create-button.js +22 -0
  545. package/dist/esm/ui/top-nav-items/custom-title.compiled.css +11 -0
  546. package/dist/esm/ui/top-nav-items/custom-title.js +28 -0
  547. package/dist/esm/ui/top-nav-items/end-item.js +40 -0
  548. package/dist/esm/ui/top-nav-items/help.js +50 -0
  549. package/dist/esm/ui/top-nav-items/log-in.js +39 -0
  550. package/dist/esm/ui/top-nav-items/nav-logo.compiled.css +22 -0
  551. package/dist/esm/ui/top-nav-items/nav-logo.js +119 -0
  552. package/dist/esm/ui/top-nav-items/notifications.js +46 -0
  553. package/dist/esm/ui/top-nav-items/profile.js +26 -0
  554. package/dist/esm/ui/top-nav-items/search.compiled.css +20 -0
  555. package/dist/esm/ui/top-nav-items/search.js +59 -0
  556. package/dist/esm/ui/top-nav-items/settings.js +15 -0
  557. package/dist/esm/ui/top-nav-items/themed/button.compiled.css +58 -0
  558. package/dist/esm/ui/top-nav-items/themed/button.js +344 -0
  559. package/dist/esm/ui/top-nav-items/themed/color-utils/formats/hex.js +45 -0
  560. package/dist/esm/ui/top-nav-items/themed/color-utils/formats/hsl.js +119 -0
  561. package/dist/esm/ui/top-nav-items/themed/color-utils/formats/rgb.js +48 -0
  562. package/dist/esm/ui/top-nav-items/themed/color-utils/index.js +109 -0
  563. package/dist/esm/ui/top-nav-items/themed/color-utils/parse-user-color.js +26 -0
  564. package/dist/esm/ui/top-nav-items/themed/color-utils/types.js +0 -0
  565. package/dist/esm/ui/top-nav-items/themed/get-custom-theme-styles.js +106 -0
  566. package/dist/esm/ui/top-nav-items/themed/has-custom-theme-context.js +13 -0
  567. package/dist/esm/ui/top-nav-items/themed/migration.js +45 -0
  568. package/dist/esm/ui/top-nav-items/themed/palette.js +62 -0
  569. package/dist/esm/ui/top-nav-items/themed/search.js +64 -0
  570. package/dist/esm/ui/top-nav-items/themed/use-custom-theme.js +44 -0
  571. package/dist/types/components/badge-container.d.ts +32 -0
  572. package/dist/types/components/forward-ref-with-generic.d.ts +4 -0
  573. package/dist/types/components/list-item.d.ts +27 -0
  574. package/dist/types/components/list.d.ts +28 -0
  575. package/dist/types/components/skip-links/skip-link.d.ts +16 -0
  576. package/dist/types/components/skip-links/skip-links-container.d.ts +13 -0
  577. package/dist/types/context/skip-links/skip-links-context.d.ts +23 -0
  578. package/dist/types/context/skip-links/skip-links-data-context.d.ts +7 -0
  579. package/dist/types/context/skip-links/skip-links-provider.d.ts +7 -0
  580. package/dist/types/context/skip-links/types.d.ts +27 -0
  581. package/dist/types/context/top-nav-start/top-nav-start-context-provider.d.ts +17 -0
  582. package/dist/types/context/top-nav-start/top-nav-start-context.d.ts +17 -0
  583. package/dist/types/entry-points/experimental/color-utils/parse-hex.d.ts +1 -0
  584. package/dist/types/entry-points/experimental/color-utils/parse-hsl.d.ts +1 -0
  585. package/dist/types/entry-points/experimental/color-utils/parse-rgb.d.ts +1 -0
  586. package/dist/types/entry-points/experimental/color-utils/parse-user-color.d.ts +1 -0
  587. package/dist/types/entry-points/experimental/top-nav-button.d.ts +1 -0
  588. package/dist/types/entry-points/experimental/use-has-custom-theme.d.ts +1 -0
  589. package/dist/types/entry-points/experimental/use-legacy-search-theme.d.ts +1 -0
  590. package/dist/types/entry-points/layout/aside.d.ts +1 -0
  591. package/dist/types/entry-points/layout/banner.d.ts +1 -0
  592. package/dist/types/entry-points/layout/main.d.ts +3 -0
  593. package/dist/types/entry-points/layout/panel-splitter.d.ts +3 -0
  594. package/dist/types/entry-points/layout/panel.d.ts +1 -0
  595. package/dist/types/entry-points/layout/root.d.ts +1 -0
  596. package/dist/types/entry-points/layout/side-nav.d.ts +7 -0
  597. package/dist/types/entry-points/layout/skip-links.d.ts +2 -0
  598. package/dist/types/entry-points/layout/top-nav.d.ts +4 -0
  599. package/dist/types/entry-points/side-nav-items/button-menu-item.d.ts +3 -0
  600. package/dist/types/entry-points/side-nav-items/container-avatar.d.ts +1 -0
  601. package/dist/types/entry-points/side-nav-items/drag-and-drop/drag-preview.d.ts +1 -0
  602. package/dist/types/entry-points/side-nav-items/drag-and-drop/drop-indicator.d.ts +1 -0
  603. package/dist/types/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.d.ts +1 -0
  604. package/dist/types/entry-points/side-nav-items/drag-and-drop/hitbox.d.ts +1 -0
  605. package/dist/types/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.d.ts +1 -0
  606. package/dist/types/entry-points/side-nav-items/expandable-menu-item.d.ts +4 -0
  607. package/dist/types/entry-points/side-nav-items/flyout-menu-item.d.ts +3 -0
  608. package/dist/types/entry-points/side-nav-items/link-menu-item.d.ts +3 -0
  609. package/dist/types/entry-points/side-nav-items/menu-list-item.d.ts +1 -0
  610. package/dist/types/entry-points/side-nav-items/menu-list.d.ts +1 -0
  611. package/dist/types/entry-points/side-nav-items/menu-section.d.ts +3 -0
  612. package/dist/types/entry-points/side-nav-items/top-level-spacer.d.ts +1 -0
  613. package/dist/types/entry-points/top-nav-items/create-button.d.ts +1 -0
  614. package/dist/types/entry-points/top-nav-items/custom-title.d.ts +1 -0
  615. package/dist/types/entry-points/top-nav-items/help.d.ts +1 -0
  616. package/dist/types/entry-points/top-nav-items/index.d.ts +13 -0
  617. package/dist/types/entry-points/top-nav-items/log-in.d.ts +1 -0
  618. package/dist/types/entry-points/top-nav-items/notifications.d.ts +1 -0
  619. package/dist/types/entry-points/top-nav-items/profile.d.ts +1 -0
  620. package/dist/types/entry-points/top-nav-items/settings.d.ts +1 -0
  621. package/dist/types/index.d.ts +47 -0
  622. package/dist/types/ui/menu-item/button-menu-item.d.ts +55 -0
  623. package/dist/types/ui/menu-item/constants.d.ts +15 -0
  624. package/dist/types/ui/menu-item/container-avatar.d.ts +19 -0
  625. package/dist/types/ui/menu-item/drag-and-drop/drag-preview.d.ts +24 -0
  626. package/dist/types/ui/menu-item/drag-and-drop/drop-indicator.d.ts +6 -0
  627. package/dist/types/ui/menu-item/drag-and-drop/group-drop-indicator.d.ts +6 -0
  628. package/dist/types/ui/menu-item/drag-and-drop/hitbox.d.ts +6 -0
  629. package/dist/types/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.d.ts +62 -0
  630. package/dist/types/ui/menu-item/drag-handle.d.ts +7 -0
  631. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-content.d.ts +17 -0
  632. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +37 -0
  633. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +5 -0
  634. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +121 -0
  635. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item.d.ts +61 -0
  636. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-content.d.ts +32 -0
  637. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +15 -0
  638. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +86 -0
  639. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item.d.ts +52 -0
  640. package/dist/types/ui/menu-item/link-menu-item.d.ts +43 -0
  641. package/dist/types/ui/menu-item/menu-item-signals.d.ts +6 -0
  642. package/dist/types/ui/menu-item/menu-item.d.ts +42 -0
  643. package/dist/types/ui/menu-item/menu-list-item.d.ts +11 -0
  644. package/dist/types/ui/menu-item/menu-list.d.ts +9 -0
  645. package/dist/types/ui/menu-item/top-level-spacer.d.ts +21 -0
  646. package/dist/types/ui/menu-item/types.d.ts +160 -0
  647. package/dist/types/ui/menu-item/use-scroll-menu-item-into-view.d.ts +13 -0
  648. package/dist/types/ui/menu-section/divider.d.ts +7 -0
  649. package/dist/types/ui/menu-section/menu-section-context.d.ts +7 -0
  650. package/dist/types/ui/menu-section/menu-section-heading.d.ts +16 -0
  651. package/dist/types/ui/menu-section/menu-section.d.ts +41 -0
  652. package/dist/types/ui/page-layout/aside.d.ts +49 -0
  653. package/dist/types/ui/page-layout/banner.d.ts +23 -0
  654. package/dist/types/ui/page-layout/constants.d.ts +40 -0
  655. package/dist/types/ui/page-layout/hoist-slot-sizes-context.d.ts +6 -0
  656. package/dist/types/ui/page-layout/hoist-utils.d.ts +24 -0
  657. package/dist/types/ui/page-layout/id-utils.d.ts +17 -0
  658. package/dist/types/ui/page-layout/main/main-sticky-context.d.ts +5 -0
  659. package/dist/types/ui/page-layout/main/main-sticky-header.d.ts +23 -0
  660. package/dist/types/ui/page-layout/main/main.d.ts +38 -0
  661. package/dist/types/ui/page-layout/panel-splitter/context.d.ts +54 -0
  662. package/dist/types/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.d.ts +7 -0
  663. package/dist/types/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.d.ts +18 -0
  664. package/dist/types/ui/page-layout/panel-splitter/get-width.d.ts +11 -0
  665. package/dist/types/ui/page-layout/panel-splitter/keyboard-resize-manager.d.ts +15 -0
  666. package/dist/types/ui/page-layout/panel-splitter/panel-splitter.d.ts +45 -0
  667. package/dist/types/ui/page-layout/panel-splitter/provider.d.ts +12 -0
  668. package/dist/types/ui/page-layout/panel-splitter/types.d.ts +23 -0
  669. package/dist/types/ui/page-layout/panel-splitter/use-text-direction.d.ts +10 -0
  670. package/dist/types/ui/page-layout/panel.d.ts +41 -0
  671. package/dist/types/ui/page-layout/root.d.ts +38 -0
  672. package/dist/types/ui/page-layout/side-nav/element-context.d.ts +10 -0
  673. package/dist/types/ui/page-layout/side-nav/flyout-close-delay-ms.d.ts +5 -0
  674. package/dist/types/ui/page-layout/side-nav/side-nav-content.d.ts +24 -0
  675. package/dist/types/ui/page-layout/side-nav/side-nav-footer.d.ts +19 -0
  676. package/dist/types/ui/page-layout/side-nav/side-nav-header.d.ts +14 -0
  677. package/dist/types/ui/page-layout/side-nav/side-nav.d.ts +57 -0
  678. package/dist/types/ui/page-layout/side-nav/toggle-button-context.d.ts +17 -0
  679. package/dist/types/ui/page-layout/side-nav/toggle-button-provider.d.ts +17 -0
  680. package/dist/types/ui/page-layout/side-nav/toggle-button.d.ts +45 -0
  681. package/dist/types/ui/page-layout/side-nav/types.d.ts +42 -0
  682. package/dist/types/ui/page-layout/side-nav/use-expand-side-nav.d.ts +12 -0
  683. package/dist/types/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.d.ts +13 -0
  684. package/dist/types/ui/page-layout/side-nav/use-side-nav-visibility.d.ts +20 -0
  685. package/dist/types/ui/page-layout/side-nav/use-toggle-side-nav.d.ts +12 -0
  686. package/dist/types/ui/page-layout/side-nav/visibility-context.d.ts +11 -0
  687. package/dist/types/ui/page-layout/side-nav/visibility-provider.d.ts +7 -0
  688. package/dist/types/ui/page-layout/top-nav/top-nav-end.d.ts +29 -0
  689. package/dist/types/ui/page-layout/top-nav/top-nav-middle.d.ts +24 -0
  690. package/dist/types/ui/page-layout/top-nav/top-nav-start.d.ts +22 -0
  691. package/dist/types/ui/page-layout/top-nav/top-nav.d.ts +29 -0
  692. package/dist/types/ui/page-layout/types.d.ts +20 -0
  693. package/dist/types/ui/page-layout/use-resizing-width-css-var-on-root-element.d.ts +9 -0
  694. package/dist/types/ui/top-nav-items/app-switcher.d.ts +32 -0
  695. package/dist/types/ui/top-nav-items/chat-button.d.ts +25 -0
  696. package/dist/types/ui/top-nav-items/create-button.d.ts +30 -0
  697. package/dist/types/ui/top-nav-items/custom-title.d.ts +23 -0
  698. package/dist/types/ui/top-nav-items/end-item.d.ts +73 -0
  699. package/dist/types/ui/top-nav-items/help.d.ts +19 -0
  700. package/dist/types/ui/top-nav-items/log-in.d.ts +36 -0
  701. package/dist/types/ui/top-nav-items/nav-logo.d.ts +39 -0
  702. package/dist/types/ui/top-nav-items/notifications.d.ts +16 -0
  703. package/dist/types/ui/top-nav-items/profile.d.ts +15 -0
  704. package/dist/types/ui/top-nav-items/search.d.ts +35 -0
  705. package/dist/types/ui/top-nav-items/settings.d.ts +11 -0
  706. package/dist/types/ui/top-nav-items/themed/button.d.ts +128 -0
  707. package/dist/types/ui/top-nav-items/themed/color-utils/formats/hex.d.ts +9 -0
  708. package/dist/types/ui/top-nav-items/themed/color-utils/formats/hsl.d.ts +7 -0
  709. package/dist/types/ui/top-nav-items/themed/color-utils/formats/rgb.d.ts +7 -0
  710. package/dist/types/ui/top-nav-items/themed/color-utils/index.d.ts +21 -0
  711. package/dist/types/ui/top-nav-items/themed/color-utils/parse-user-color.d.ts +13 -0
  712. package/dist/types/ui/top-nav-items/themed/color-utils/types.d.ts +17 -0
  713. package/dist/types/ui/top-nav-items/themed/get-custom-theme-styles.d.ts +22 -0
  714. package/dist/types/ui/top-nav-items/themed/has-custom-theme-context.d.ts +9 -0
  715. package/dist/types/ui/top-nav-items/themed/migration.d.ts +10 -0
  716. package/dist/types/ui/top-nav-items/themed/palette.d.ts +62 -0
  717. package/dist/types/ui/top-nav-items/themed/search.d.ts +55 -0
  718. package/dist/types/ui/top-nav-items/themed/use-custom-theme.d.ts +13 -0
  719. package/dist/types-ts4.5/components/badge-container.d.ts +32 -0
  720. package/dist/types-ts4.5/components/forward-ref-with-generic.d.ts +4 -0
  721. package/dist/types-ts4.5/components/list-item.d.ts +27 -0
  722. package/dist/types-ts4.5/components/list.d.ts +28 -0
  723. package/dist/types-ts4.5/components/skip-links/skip-link.d.ts +16 -0
  724. package/dist/types-ts4.5/components/skip-links/skip-links-container.d.ts +13 -0
  725. package/dist/types-ts4.5/context/skip-links/skip-links-context.d.ts +23 -0
  726. package/dist/types-ts4.5/context/skip-links/skip-links-data-context.d.ts +7 -0
  727. package/dist/types-ts4.5/context/skip-links/skip-links-provider.d.ts +7 -0
  728. package/dist/types-ts4.5/context/skip-links/types.d.ts +27 -0
  729. package/dist/types-ts4.5/context/top-nav-start/top-nav-start-context-provider.d.ts +17 -0
  730. package/dist/types-ts4.5/context/top-nav-start/top-nav-start-context.d.ts +17 -0
  731. package/dist/types-ts4.5/entry-points/experimental/color-utils/parse-hex.d.ts +1 -0
  732. package/dist/types-ts4.5/entry-points/experimental/color-utils/parse-hsl.d.ts +1 -0
  733. package/dist/types-ts4.5/entry-points/experimental/color-utils/parse-rgb.d.ts +1 -0
  734. package/dist/types-ts4.5/entry-points/experimental/color-utils/parse-user-color.d.ts +1 -0
  735. package/dist/types-ts4.5/entry-points/experimental/top-nav-button.d.ts +1 -0
  736. package/dist/types-ts4.5/entry-points/experimental/use-has-custom-theme.d.ts +1 -0
  737. package/dist/types-ts4.5/entry-points/experimental/use-legacy-search-theme.d.ts +1 -0
  738. package/dist/types-ts4.5/entry-points/layout/aside.d.ts +1 -0
  739. package/dist/types-ts4.5/entry-points/layout/banner.d.ts +1 -0
  740. package/dist/types-ts4.5/entry-points/layout/main.d.ts +3 -0
  741. package/dist/types-ts4.5/entry-points/layout/panel-splitter.d.ts +3 -0
  742. package/dist/types-ts4.5/entry-points/layout/panel.d.ts +1 -0
  743. package/dist/types-ts4.5/entry-points/layout/root.d.ts +1 -0
  744. package/dist/types-ts4.5/entry-points/layout/side-nav.d.ts +7 -0
  745. package/dist/types-ts4.5/entry-points/layout/skip-links.d.ts +2 -0
  746. package/dist/types-ts4.5/entry-points/layout/top-nav.d.ts +4 -0
  747. package/dist/types-ts4.5/entry-points/side-nav-items/button-menu-item.d.ts +3 -0
  748. package/dist/types-ts4.5/entry-points/side-nav-items/container-avatar.d.ts +1 -0
  749. package/dist/types-ts4.5/entry-points/side-nav-items/drag-and-drop/drag-preview.d.ts +1 -0
  750. package/dist/types-ts4.5/entry-points/side-nav-items/drag-and-drop/drop-indicator.d.ts +1 -0
  751. package/dist/types-ts4.5/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.d.ts +1 -0
  752. package/dist/types-ts4.5/entry-points/side-nav-items/drag-and-drop/hitbox.d.ts +1 -0
  753. package/dist/types-ts4.5/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.d.ts +1 -0
  754. package/dist/types-ts4.5/entry-points/side-nav-items/expandable-menu-item.d.ts +4 -0
  755. package/dist/types-ts4.5/entry-points/side-nav-items/flyout-menu-item.d.ts +3 -0
  756. package/dist/types-ts4.5/entry-points/side-nav-items/link-menu-item.d.ts +3 -0
  757. package/dist/types-ts4.5/entry-points/side-nav-items/menu-list-item.d.ts +1 -0
  758. package/dist/types-ts4.5/entry-points/side-nav-items/menu-list.d.ts +1 -0
  759. package/dist/types-ts4.5/entry-points/side-nav-items/menu-section.d.ts +3 -0
  760. package/dist/types-ts4.5/entry-points/side-nav-items/top-level-spacer.d.ts +1 -0
  761. package/dist/types-ts4.5/entry-points/top-nav-items/create-button.d.ts +1 -0
  762. package/dist/types-ts4.5/entry-points/top-nav-items/custom-title.d.ts +1 -0
  763. package/dist/types-ts4.5/entry-points/top-nav-items/help.d.ts +1 -0
  764. package/dist/types-ts4.5/entry-points/top-nav-items/index.d.ts +13 -0
  765. package/dist/types-ts4.5/entry-points/top-nav-items/log-in.d.ts +1 -0
  766. package/dist/types-ts4.5/entry-points/top-nav-items/notifications.d.ts +1 -0
  767. package/dist/types-ts4.5/entry-points/top-nav-items/profile.d.ts +1 -0
  768. package/dist/types-ts4.5/entry-points/top-nav-items/settings.d.ts +1 -0
  769. package/dist/types-ts4.5/index.d.ts +47 -0
  770. package/dist/types-ts4.5/ui/menu-item/button-menu-item.d.ts +55 -0
  771. package/dist/types-ts4.5/ui/menu-item/constants.d.ts +15 -0
  772. package/dist/types-ts4.5/ui/menu-item/container-avatar.d.ts +19 -0
  773. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/drag-preview.d.ts +24 -0
  774. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/drop-indicator.d.ts +6 -0
  775. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/group-drop-indicator.d.ts +6 -0
  776. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/hitbox.d.ts +6 -0
  777. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.d.ts +62 -0
  778. package/dist/types-ts4.5/ui/menu-item/drag-handle.d.ts +7 -0
  779. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-content.d.ts +17 -0
  780. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +37 -0
  781. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +5 -0
  782. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +121 -0
  783. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item.d.ts +61 -0
  784. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-content.d.ts +32 -0
  785. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +15 -0
  786. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +86 -0
  787. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item.d.ts +52 -0
  788. package/dist/types-ts4.5/ui/menu-item/link-menu-item.d.ts +43 -0
  789. package/dist/types-ts4.5/ui/menu-item/menu-item-signals.d.ts +6 -0
  790. package/dist/types-ts4.5/ui/menu-item/menu-item.d.ts +42 -0
  791. package/dist/types-ts4.5/ui/menu-item/menu-list-item.d.ts +11 -0
  792. package/dist/types-ts4.5/ui/menu-item/menu-list.d.ts +9 -0
  793. package/dist/types-ts4.5/ui/menu-item/top-level-spacer.d.ts +21 -0
  794. package/dist/types-ts4.5/ui/menu-item/types.d.ts +160 -0
  795. package/dist/types-ts4.5/ui/menu-item/use-scroll-menu-item-into-view.d.ts +13 -0
  796. package/dist/types-ts4.5/ui/menu-section/divider.d.ts +7 -0
  797. package/dist/types-ts4.5/ui/menu-section/menu-section-context.d.ts +7 -0
  798. package/dist/types-ts4.5/ui/menu-section/menu-section-heading.d.ts +16 -0
  799. package/dist/types-ts4.5/ui/menu-section/menu-section.d.ts +41 -0
  800. package/dist/types-ts4.5/ui/page-layout/aside.d.ts +49 -0
  801. package/dist/types-ts4.5/ui/page-layout/banner.d.ts +23 -0
  802. package/dist/types-ts4.5/ui/page-layout/constants.d.ts +40 -0
  803. package/dist/types-ts4.5/ui/page-layout/hoist-slot-sizes-context.d.ts +6 -0
  804. package/dist/types-ts4.5/ui/page-layout/hoist-utils.d.ts +24 -0
  805. package/dist/types-ts4.5/ui/page-layout/id-utils.d.ts +17 -0
  806. package/dist/types-ts4.5/ui/page-layout/main/main-sticky-context.d.ts +5 -0
  807. package/dist/types-ts4.5/ui/page-layout/main/main-sticky-header.d.ts +23 -0
  808. package/dist/types-ts4.5/ui/page-layout/main/main.d.ts +38 -0
  809. package/dist/types-ts4.5/ui/page-layout/panel-splitter/context.d.ts +54 -0
  810. package/dist/types-ts4.5/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.d.ts +7 -0
  811. package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.d.ts +18 -0
  812. package/dist/types-ts4.5/ui/page-layout/panel-splitter/get-width.d.ts +11 -0
  813. package/dist/types-ts4.5/ui/page-layout/panel-splitter/keyboard-resize-manager.d.ts +15 -0
  814. package/dist/types-ts4.5/ui/page-layout/panel-splitter/panel-splitter.d.ts +45 -0
  815. package/dist/types-ts4.5/ui/page-layout/panel-splitter/provider.d.ts +12 -0
  816. package/dist/types-ts4.5/ui/page-layout/panel-splitter/types.d.ts +23 -0
  817. package/dist/types-ts4.5/ui/page-layout/panel-splitter/use-text-direction.d.ts +10 -0
  818. package/dist/types-ts4.5/ui/page-layout/panel.d.ts +41 -0
  819. package/dist/types-ts4.5/ui/page-layout/root.d.ts +38 -0
  820. package/dist/types-ts4.5/ui/page-layout/side-nav/element-context.d.ts +10 -0
  821. package/dist/types-ts4.5/ui/page-layout/side-nav/flyout-close-delay-ms.d.ts +5 -0
  822. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-content.d.ts +24 -0
  823. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-footer.d.ts +19 -0
  824. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav-header.d.ts +14 -0
  825. package/dist/types-ts4.5/ui/page-layout/side-nav/side-nav.d.ts +57 -0
  826. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-context.d.ts +17 -0
  827. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button-provider.d.ts +17 -0
  828. package/dist/types-ts4.5/ui/page-layout/side-nav/toggle-button.d.ts +45 -0
  829. package/dist/types-ts4.5/ui/page-layout/side-nav/types.d.ts +42 -0
  830. package/dist/types-ts4.5/ui/page-layout/side-nav/use-expand-side-nav.d.ts +12 -0
  831. package/dist/types-ts4.5/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.d.ts +13 -0
  832. package/dist/types-ts4.5/ui/page-layout/side-nav/use-side-nav-visibility.d.ts +20 -0
  833. package/dist/types-ts4.5/ui/page-layout/side-nav/use-toggle-side-nav.d.ts +12 -0
  834. package/dist/types-ts4.5/ui/page-layout/side-nav/visibility-context.d.ts +11 -0
  835. package/dist/types-ts4.5/ui/page-layout/side-nav/visibility-provider.d.ts +7 -0
  836. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav-end.d.ts +29 -0
  837. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav-middle.d.ts +24 -0
  838. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav-start.d.ts +22 -0
  839. package/dist/types-ts4.5/ui/page-layout/top-nav/top-nav.d.ts +29 -0
  840. package/dist/types-ts4.5/ui/page-layout/types.d.ts +20 -0
  841. package/dist/types-ts4.5/ui/page-layout/use-resizing-width-css-var-on-root-element.d.ts +9 -0
  842. package/dist/types-ts4.5/ui/top-nav-items/app-switcher.d.ts +32 -0
  843. package/dist/types-ts4.5/ui/top-nav-items/chat-button.d.ts +25 -0
  844. package/dist/types-ts4.5/ui/top-nav-items/create-button.d.ts +30 -0
  845. package/dist/types-ts4.5/ui/top-nav-items/custom-title.d.ts +23 -0
  846. package/dist/types-ts4.5/ui/top-nav-items/end-item.d.ts +73 -0
  847. package/dist/types-ts4.5/ui/top-nav-items/help.d.ts +19 -0
  848. package/dist/types-ts4.5/ui/top-nav-items/log-in.d.ts +36 -0
  849. package/dist/types-ts4.5/ui/top-nav-items/nav-logo.d.ts +39 -0
  850. package/dist/types-ts4.5/ui/top-nav-items/notifications.d.ts +16 -0
  851. package/dist/types-ts4.5/ui/top-nav-items/profile.d.ts +15 -0
  852. package/dist/types-ts4.5/ui/top-nav-items/search.d.ts +35 -0
  853. package/dist/types-ts4.5/ui/top-nav-items/settings.d.ts +11 -0
  854. package/dist/types-ts4.5/ui/top-nav-items/themed/button.d.ts +128 -0
  855. package/dist/types-ts4.5/ui/top-nav-items/themed/color-utils/formats/hex.d.ts +9 -0
  856. package/dist/types-ts4.5/ui/top-nav-items/themed/color-utils/formats/hsl.d.ts +7 -0
  857. package/dist/types-ts4.5/ui/top-nav-items/themed/color-utils/formats/rgb.d.ts +7 -0
  858. package/dist/types-ts4.5/ui/top-nav-items/themed/color-utils/index.d.ts +21 -0
  859. package/dist/types-ts4.5/ui/top-nav-items/themed/color-utils/parse-user-color.d.ts +13 -0
  860. package/dist/types-ts4.5/ui/top-nav-items/themed/color-utils/types.d.ts +17 -0
  861. package/dist/types-ts4.5/ui/top-nav-items/themed/get-custom-theme-styles.d.ts +22 -0
  862. package/dist/types-ts4.5/ui/top-nav-items/themed/has-custom-theme-context.d.ts +9 -0
  863. package/dist/types-ts4.5/ui/top-nav-items/themed/migration.d.ts +10 -0
  864. package/dist/types-ts4.5/ui/top-nav-items/themed/palette.d.ts +62 -0
  865. package/dist/types-ts4.5/ui/top-nav-items/themed/search.d.ts +55 -0
  866. package/dist/types-ts4.5/ui/top-nav-items/themed/use-custom-theme.d.ts +13 -0
  867. package/examples/button-menu-item.tsx +426 -0
  868. package/examples/company-hub-mock.tsx +241 -0
  869. package/examples/composition.tsx +502 -0
  870. package/examples/confluence-mock.tsx +387 -0
  871. package/examples/constellation/integration.tsx +203 -0
  872. package/examples/constellation/layout/advanced-layout.tsx +141 -0
  873. package/examples/constellation/layout/aside.tsx +10 -0
  874. package/examples/constellation/layout/banner.tsx +16 -0
  875. package/examples/constellation/layout/custom-skip-links.tsx +10 -0
  876. package/examples/constellation/layout/expand-side-nav.tsx +15 -0
  877. package/examples/constellation/layout/main.tsx +10 -0
  878. package/examples/constellation/layout/panel-splitter.tsx +13 -0
  879. package/examples/constellation/layout/panel.tsx +10 -0
  880. package/examples/constellation/layout/side-nav-slots.tsx +19 -0
  881. package/examples/constellation/layout/side-nav.tsx +27 -0
  882. package/examples/constellation/layout/toggle-side-nav-keyboard-shortcut.tsx +23 -0
  883. package/examples/constellation/layout/top-nav.tsx +21 -0
  884. package/examples/constellation/side-navigation/button-menu-item-disabled.tsx +20 -0
  885. package/examples/constellation/side-navigation/common/global-app-icon-tile.tsx +43 -0
  886. package/examples/constellation/side-navigation/common/mock-side-nav.tsx +16 -0
  887. package/examples/constellation/side-navigation/composing-menus.tsx +87 -0
  888. package/examples/constellation/side-navigation/expandable-menu-item.tsx +44 -0
  889. package/examples/constellation/side-navigation/flyout-menu-item.tsx +96 -0
  890. package/examples/constellation/side-navigation/global-apps.tsx +97 -0
  891. package/examples/constellation/side-navigation/link-menu-item.tsx +45 -0
  892. package/examples/constellation/side-navigation/menu-section.tsx +70 -0
  893. package/examples/constellation/top-navigation/common/mock-content.tsx +39 -0
  894. package/examples/constellation/top-navigation/common/mock-top-bar.tsx +19 -0
  895. package/examples/constellation/top-navigation/custom-nav-logo.tsx +27 -0
  896. package/examples/constellation/top-navigation/custom-theming--buttons.tsx +25 -0
  897. package/examples/constellation/top-navigation/custom-theming--logo.tsx +25 -0
  898. package/examples/constellation/top-navigation/custom-theming--parse-hex.tsx +18 -0
  899. package/examples/constellation/top-navigation/custom-theming--parse-hsl.tsx +21 -0
  900. package/examples/constellation/top-navigation/custom-theming--parse-rgb.tsx +21 -0
  901. package/examples/constellation/top-navigation/custom-theming--parse-user-color.tsx +21 -0
  902. package/examples/constellation/top-navigation/custom-theming--rgb-object.tsx +20 -0
  903. package/examples/constellation/top-navigation/custom-theming--search.tsx +26 -0
  904. package/examples/constellation/top-navigation/nav-logo.tsx +22 -0
  905. package/examples/constellation/top-navigation/top-nav-end.tsx +23 -0
  906. package/examples/constellation/top-navigation/top-nav-middle.tsx +17 -0
  907. package/examples/constellation/top-navigation/top-nav-start.tsx +29 -0
  908. package/examples/drag-and-drop/jira/data.tsx +320 -0
  909. package/examples/drag-and-drop/jira/entry.tsx +89 -0
  910. package/examples/drag-and-drop/jira/filters/filter-move-modal.tsx +172 -0
  911. package/examples/drag-and-drop/jira/filters/filter-tree-utils.tsx +134 -0
  912. package/examples/drag-and-drop/jira/filters/filters-menu-item.tsx +470 -0
  913. package/examples/drag-and-drop/jira/for-you/for-you-menu-item.tsx +74 -0
  914. package/examples/drag-and-drop/jira/projects/project-tile.tsx +37 -0
  915. package/examples/drag-and-drop/jira/projects/project.tsx +260 -0
  916. package/examples/drag-and-drop/jira/projects/projects-menu-item.tsx +120 -0
  917. package/examples/drag-and-drop/jira/recent/recent-menu-item.tsx +30 -0
  918. package/examples/drag-and-drop/jira/reducer.tsx +78 -0
  919. package/examples/drag-and-drop/jira/registry.tsx +52 -0
  920. package/examples/drag-and-drop/jira/reorder-actions.tsx +75 -0
  921. package/examples/drag-and-drop/jira/shared-top-level-flyout.tsx +144 -0
  922. package/examples/drag-and-drop/jira/sidebar.tsx +361 -0
  923. package/examples/drag-and-drop/jira/starred/starred-menu-item.tsx +29 -0
  924. package/examples/drag-and-drop/jira/state-context.tsx +34 -0
  925. package/examples/drag-and-drop/jira/top-level-shared-more-menu.tsx +99 -0
  926. package/examples/drag-and-drop/sidebar-example-container.tsx +38 -0
  927. package/examples/drag-and-drop/simple.tsx +653 -0
  928. package/examples/drag-and-drop/standalone-jira-sidebar-centered.tsx +27 -0
  929. package/examples/drag-and-drop/standalone-jira-sidebar.tsx +18 -0
  930. package/examples/drag-and-drop-in-the-sidebar-flyout.tsx +160 -0
  931. package/examples/drag-and-drop-jira-sidebar-centered.tsx +1 -0
  932. package/examples/drag-and-drop-jira-sidebar-standalone.tsx +1 -0
  933. package/examples/drag-and-drop-jira.tsx +1 -0
  934. package/examples/drag-and-drop.tsx +1 -0
  935. package/examples/expandable-menu-item.tsx +761 -0
  936. package/examples/flyout-menu-item-multiple.tsx +180 -0
  937. package/examples/flyout-menu-item.tsx +269 -0
  938. package/examples/images/200x20.png +0 -0
  939. package/examples/images/200x200.png +0 -0
  940. package/examples/images/20x20.png +0 -0
  941. package/examples/images/20x200.png +0 -0
  942. package/examples/images/cd.svg +9 -0
  943. package/examples/images/koala.png +0 -0
  944. package/examples/images/koala.svg +9 -0
  945. package/examples/images/money.svg +9 -0
  946. package/examples/legacy-var-testing.tsx +173 -0
  947. package/examples/link-menu-item.tsx +382 -0
  948. package/examples/main-content-border.tsx +147 -0
  949. package/examples/menu-item-avatar.tsx +41 -0
  950. package/examples/menu-item-conditional-tooltip.tsx +304 -0
  951. package/examples/menu-item-focus-ring-bleed.tsx +50 -0
  952. package/examples/menu-item-integration.tsx +206 -0
  953. package/examples/menu-item-narrow.tsx +290 -0
  954. package/examples/menu-item-scroll-into-view.tsx +283 -0
  955. package/examples/menu-items-deeply-nested.tsx +330 -0
  956. package/examples/menu-list.tsx +62 -0
  957. package/examples/menu-section.tsx +78 -0
  958. package/examples/page-layout-all-slots-banner-height-zero.tsx +3 -0
  959. package/examples/page-layout-all-slots-custom-sizes.tsx +3 -0
  960. package/examples/page-layout-all-slots-rtl.tsx +3 -0
  961. package/examples/page-layout-all-slots-scrollable-fixed.tsx +3 -0
  962. package/examples/page-layout-all-slots-scrollable.tsx +3 -0
  963. package/examples/page-layout-all-slots.tsx +3 -0
  964. package/examples/page-layout-aside-border.tsx +148 -0
  965. package/examples/page-layout-content-is-iframes.tsx +3 -0
  966. package/examples/page-layout-edge-case-absolute-positioned-collapsed-custom-sizes.tsx +3 -0
  967. package/examples/page-layout-edge-case-absolute-positioned-collapsed.tsx +3 -0
  968. package/examples/page-layout-edge-case-absolute-positioned-panel-visible.tsx +3 -0
  969. package/examples/page-layout-edge-case-absolute-positioned-resizable.tsx +3 -0
  970. package/examples/page-layout-edge-case-absolute-positioned.tsx +3 -0
  971. package/examples/page-layout-edge-case-using-legacy-vars.tsx +3 -0
  972. package/examples/page-layout-full-screen.tsx +253 -0
  973. package/examples/page-layout-implicit-rows.tsx +33 -0
  974. package/examples/page-layout-main-aside-scrollable-fixed.tsx +3 -0
  975. package/examples/page-layout-main-aside-scrollable.tsx +3 -0
  976. package/examples/page-layout-main-aside.tsx +3 -0
  977. package/examples/page-layout-panel-aside-default-widths.tsx +243 -0
  978. package/examples/page-layout-resizable-rtl.tsx +3 -0
  979. package/examples/page-layout-resizable.tsx +3 -0
  980. package/examples/page-layout-side-nav-collapse-shortcut.tsx +47 -0
  981. package/examples/page-layout-side-nav-content-scroll-with-sticky.tsx +135 -0
  982. package/examples/page-layout-side-nav-custom-width-greater-than-max.tsx +3 -0
  983. package/examples/page-layout-side-nav-custom-width-smaller-than-min.tsx +3 -0
  984. package/examples/page-layout-side-nav-main-aside-scrollable-fixed.tsx +3 -0
  985. package/examples/page-layout-side-nav-main-aside-scrollable.tsx +3 -0
  986. package/examples/page-layout-side-nav-main-aside.tsx +3 -0
  987. package/examples/page-layout-side-nav-onboarding.tsx +154 -0
  988. package/examples/page-layout-side-nav-overflowing-children.tsx +3 -0
  989. package/examples/page-layout-side-nav-slots.tsx +173 -0
  990. package/examples/page-layout-side-nav-with-menu-items.tsx +3 -0
  991. package/examples/page-layout-top-bar-side-nav-main-aside-scrollable-fixed.tsx +3 -0
  992. package/examples/page-layout-top-bar-side-nav-main-aside-scrollable.tsx +3 -0
  993. package/examples/page-layout-top-bar-side-nav-main-aside.tsx +3 -0
  994. package/examples/page-layout-top-bar-side-nav-main-scrollable-fixed.tsx +3 -0
  995. package/examples/page-layout-top-bar-side-nav-main-scrollable.tsx +3 -0
  996. package/examples/page-layout-top-bar-side-nav-main.tsx +3 -0
  997. package/examples/page-layout.tsx +1063 -0
  998. package/examples/panel-splitter.tsx +198 -0
  999. package/examples/resizable-slots.tsx +359 -0
  1000. package/examples/side-nav-flyout.tsx +255 -0
  1001. package/examples/stand-alone-iframe.tsx +22 -0
  1002. package/examples/temp-icons/app-switcher-legacy.tsx +14 -0
  1003. package/examples/temp-icons/atlassian-intelligence.tsx +14 -0
  1004. package/examples/temp-icons/help.tsx +18 -0
  1005. package/examples/temp-icons/menu.tsx +14 -0
  1006. package/examples/temp-icons/settings.tsx +14 -0
  1007. package/examples/top-nav-custom-profile-image.tsx +71 -0
  1008. package/examples/top-nav-side-nav-collapsed.tsx +74 -0
  1009. package/examples/top-nav-with-temp-nav-app-icon.tsx +63 -0
  1010. package/examples/top-navigation-custom-logo.tsx +74 -0
  1011. package/examples/top-navigation-stress.tsx +242 -0
  1012. package/examples/top-navigation-themed-buttons.tsx +63 -0
  1013. package/examples/top-navigation-theming-logged-out.tsx +75 -0
  1014. package/examples/top-navigation-theming-with-picker.tsx +130 -0
  1015. package/examples/top-navigation-theming.tsx +173 -0
  1016. package/examples/top-navigation.tsx +128 -0
  1017. package/examples/utils/example-utils.tsx +14 -0
  1018. package/examples/utils/mock-root.tsx +18 -0
  1019. package/examples/utils/mock-search.tsx +67 -0
  1020. package/experimental/color-utils/parse-hex/package.json +17 -0
  1021. package/experimental/color-utils/parse-hsl/package.json +17 -0
  1022. package/experimental/color-utils/parse-rgb/package.json +17 -0
  1023. package/experimental/color-utils/parse-user-color/package.json +17 -0
  1024. package/experimental/top-nav-button/package.json +17 -0
  1025. package/experimental/use-has-custom-theme/package.json +17 -0
  1026. package/experimental/use-legacy-search-theme/package.json +17 -0
  1027. package/layout/aside/package.json +17 -0
  1028. package/layout/banner/package.json +17 -0
  1029. package/layout/main/package.json +17 -0
  1030. package/layout/panel/package.json +17 -0
  1031. package/layout/panel-splitter/package.json +17 -0
  1032. package/layout/root/package.json +17 -0
  1033. package/layout/side-nav/package.json +17 -0
  1034. package/layout/skip-links/package.json +17 -0
  1035. package/layout/top-nav/package.json +17 -0
  1036. package/package.json +245 -0
  1037. package/side-nav-items/button-menu-item/package.json +17 -0
  1038. package/side-nav-items/container-avatar/package.json +17 -0
  1039. package/side-nav-items/drag-and-drop/drag-preview/package.json +17 -0
  1040. package/side-nav-items/drag-and-drop/drop-indicator/package.json +17 -0
  1041. package/side-nav-items/drag-and-drop/group-drop-indicator/package.json +17 -0
  1042. package/side-nav-items/drag-and-drop/hitbox/package.json +17 -0
  1043. package/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop/package.json +17 -0
  1044. package/side-nav-items/expandable-menu-item/package.json +17 -0
  1045. package/side-nav-items/flyout-menu-item/package.json +17 -0
  1046. package/side-nav-items/link-menu-item/package.json +17 -0
  1047. package/side-nav-items/menu-list/package.json +17 -0
  1048. package/side-nav-items/menu-list-item/package.json +17 -0
  1049. package/side-nav-items/menu-section/package.json +17 -0
  1050. package/side-nav-items/top-level-spacer/package.json +17 -0
  1051. package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile--mobile.png +0 -0
  1052. package/src/__tests__/informational-vr-tests/__snapshots__/layering/side-nav-expanded-on-mobile-without-panel--mobile.png +0 -0
  1053. package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items---nested-menu-item-selected--default.png +0 -0
  1054. package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items---scrolled-to-the-end--default.png +0 -0
  1055. package/src/__tests__/informational-vr-tests/__snapshots__/menu-items-deeply-nested/side-nav-with-deeply-nested-menu-items--default.png +0 -0
  1056. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-chrome.png +0 -0
  1057. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-firefox.png +0 -0
  1058. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop---hover-bug--desktop-webkit.png +0 -0
  1059. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-chrome.png +0 -0
  1060. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-firefox.png +0 -0
  1061. package/src/__tests__/informational-vr-tests/__snapshots__/sidebar-drag-and-drop/sidebar-drag-and-drop--desktop-webkit.png +0 -0
  1062. package/src/__tests__/informational-vr-tests/layering.vr.tsx +35 -0
  1063. package/src/__tests__/informational-vr-tests/menu-items-deeply-nested.vr.tsx +33 -0
  1064. package/src/__tests__/informational-vr-tests/sidebar-drag-and-drop.vr.tsx +100 -0
  1065. package/src/__tests__/playwright/drag-and-drop-in-the-sidebar-flyout.spec.tsx +235 -0
  1066. package/src/__tests__/playwright/expandable-menu-item.spec.tsx +20 -0
  1067. package/src/__tests__/playwright/flyout-menu-item.spec.tsx +22 -0
  1068. package/src/__tests__/playwright/legacy-vars.spec.tsx +533 -0
  1069. package/src/__tests__/playwright/menu-item-in-sidebar-drag-and-drop.spec.tsx +70 -0
  1070. package/src/__tests__/playwright/page-layout.spec.tsx +47 -0
  1071. package/src/__tests__/playwright/panel.spec.tsx +243 -0
  1072. package/src/__tests__/playwright/resizing.spec.tsx +541 -0
  1073. package/src/__tests__/playwright/side-nav-flyout.spec.tsx +223 -0
  1074. package/src/__tests__/playwright/side-nav-responsiveness.spec.tsx +208 -0
  1075. package/src/__tests__/playwright/skip-links.spec.tsx +111 -0
  1076. package/src/__tests__/playwright/top-nav-end.spec.tsx +96 -0
  1077. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-no-panel-vr--desktop-large.png +0 -0
  1078. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-no-panel-vr--desktop.png +0 -0
  1079. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-no-panel-vr--mobile.png +0 -0
  1080. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--desktop-large-splitter.png +0 -0
  1081. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--desktop-large.png +0 -0
  1082. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--desktop.png +0 -0
  1083. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-fixed-vr--mobile.png +0 -0
  1084. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop-large.png +0 -0
  1085. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--desktop.png +0 -0
  1086. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-vr--mobile.png +0 -0
  1087. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-no-panel-with-forced-isfixed-temp---desktop.png +0 -0
  1088. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-fixed-vr--desktop-large.png +0 -0
  1089. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-fixed-vr--desktop.png +0 -0
  1090. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-fixed-vr--mobile.png +0 -0
  1091. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop-large.png +0 -0
  1092. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--desktop.png +0 -0
  1093. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-vr--mobile.png +0 -0
  1094. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-scrolled-with-forced-isfixed-temp---desktop.png +0 -0
  1095. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large-splitter.png +0 -0
  1096. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop-large.png +0 -0
  1097. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--desktop.png +0 -0
  1098. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-vr--mobile.png +0 -0
  1099. package/src/__tests__/vr-tests/__snapshots__/layering/scrollable-with-forced-isfixed-temp---desktop.png +0 -0
  1100. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-fixed-vr--desktop-large.png +0 -0
  1101. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-fixed-vr--desktop.png +0 -0
  1102. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-fixed-vr--mobile.png +0 -0
  1103. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-fixed-vr--desktop-large.png +0 -0
  1104. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-fixed-vr--desktop.png +0 -0
  1105. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-fixed-vr--mobile.png +0 -0
  1106. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop-large.png +0 -0
  1107. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--desktop.png +0 -0
  1108. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-vr--mobile.png +0 -0
  1109. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-no-panel-with-forced-isfixed-temp---desktop.png +0 -0
  1110. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop-large.png +0 -0
  1111. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--desktop.png +0 -0
  1112. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-vr--mobile.png +0 -0
  1113. package/src/__tests__/vr-tests/__snapshots__/layering/unscrollable-with-forced-isfixed-temp---desktop.png +0 -0
  1114. package/src/__tests__/vr-tests/__snapshots__/skip-links/skip-links--light-mode.png +0 -0
  1115. package/src/__tests__/vr-tests/layering.vr.tsx +226 -0
  1116. package/src/__tests__/vr-tests/skip-links.vr.tsx +14 -0
  1117. package/src/components/__tests__/unit/badge-container.test.tsx +62 -0
  1118. package/src/components/__tests__/unit/list.test.tsx +74 -0
  1119. package/src/components/badge-container.tsx +72 -0
  1120. package/src/components/forward-ref-with-generic.tsx +8 -0
  1121. package/src/components/list-item.tsx +39 -0
  1122. package/src/components/list.tsx +44 -0
  1123. package/src/components/skip-links/__tests__/unit/skip-links-container.test.tsx +411 -0
  1124. package/src/components/skip-links/skip-link.tsx +139 -0
  1125. package/src/components/skip-links/skip-links-container.tsx +111 -0
  1126. package/src/context/skip-links/skip-links-context.tsx +74 -0
  1127. package/src/context/skip-links/skip-links-data-context.tsx +41 -0
  1128. package/src/context/skip-links/skip-links-provider.tsx +74 -0
  1129. package/src/context/skip-links/types.tsx +29 -0
  1130. package/src/context/top-nav-start/top-nav-start-context-provider.tsx +26 -0
  1131. package/src/context/top-nav-start/top-nav-start-context.tsx +21 -0
  1132. package/src/entry-points/experimental/color-utils/parse-hex.tsx +1 -0
  1133. package/src/entry-points/experimental/color-utils/parse-hsl.tsx +1 -0
  1134. package/src/entry-points/experimental/color-utils/parse-rgb.tsx +1 -0
  1135. package/src/entry-points/experimental/color-utils/parse-user-color.tsx +1 -0
  1136. package/src/entry-points/experimental/top-nav-button.tsx +6 -0
  1137. package/src/entry-points/experimental/use-has-custom-theme.tsx +1 -0
  1138. package/src/entry-points/experimental/use-legacy-search-theme.tsx +1 -0
  1139. package/src/entry-points/layout/aside.tsx +1 -0
  1140. package/src/entry-points/layout/banner.tsx +1 -0
  1141. package/src/entry-points/layout/main.tsx +7 -0
  1142. package/src/entry-points/layout/panel-splitter.tsx +3 -0
  1143. package/src/entry-points/layout/panel.tsx +1 -0
  1144. package/src/entry-points/layout/root.tsx +1 -0
  1145. package/src/entry-points/layout/side-nav.tsx +7 -0
  1146. package/src/entry-points/layout/skip-links.tsx +2 -0
  1147. package/src/entry-points/layout/top-nav.tsx +4 -0
  1148. package/src/entry-points/side-nav-items/button-menu-item.tsx +3 -0
  1149. package/src/entry-points/side-nav-items/container-avatar.tsx +1 -0
  1150. package/src/entry-points/side-nav-items/drag-and-drop/drag-preview.tsx +1 -0
  1151. package/src/entry-points/side-nav-items/drag-and-drop/drop-indicator.tsx +5 -0
  1152. package/src/entry-points/side-nav-items/drag-and-drop/group-drop-indicator.tsx +1 -0
  1153. package/src/entry-points/side-nav-items/drag-and-drop/hitbox.tsx +7 -0
  1154. package/src/entry-points/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop.tsx +4 -0
  1155. package/src/entry-points/side-nav-items/expandable-menu-item.tsx +13 -0
  1156. package/src/entry-points/side-nav-items/flyout-menu-item.tsx +12 -0
  1157. package/src/entry-points/side-nav-items/link-menu-item.tsx +3 -0
  1158. package/src/entry-points/side-nav-items/menu-list-item.tsx +1 -0
  1159. package/src/entry-points/side-nav-items/menu-list.tsx +1 -0
  1160. package/src/entry-points/side-nav-items/menu-section.tsx +3 -0
  1161. package/src/entry-points/side-nav-items/top-level-spacer.tsx +1 -0
  1162. package/src/entry-points/top-nav-items/create-button.tsx +1 -0
  1163. package/src/entry-points/top-nav-items/custom-title.tsx +1 -0
  1164. package/src/entry-points/top-nav-items/help.tsx +1 -0
  1165. package/src/entry-points/top-nav-items/index.tsx +13 -0
  1166. package/src/entry-points/top-nav-items/log-in.tsx +1 -0
  1167. package/src/entry-points/top-nav-items/notifications.tsx +1 -0
  1168. package/src/entry-points/top-nav-items/profile.tsx +1 -0
  1169. package/src/entry-points/top-nav-items/settings.tsx +1 -0
  1170. package/src/index.tsx +73 -0
  1171. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/button-menu-item---disabled---pressed--default.png +0 -0
  1172. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/button-menu-item---pressed--default.png +0 -0
  1173. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---not-selectable---pressed--default.png +0 -0
  1174. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---selectable---pressed--default.png +0 -0
  1175. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/expandable-menu-item---selected---pressed--default.png +0 -0
  1176. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/flyout-menu-item---pressed--default.png +0 -0
  1177. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/flyout-menu-item---selected---pressed--default.png +0 -0
  1178. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---pressed--default.png +0 -0
  1179. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-chrome.png +0 -0
  1180. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-firefox.png +0 -0
  1181. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---scroll-into-view-behavior--desktop-safari.png +0 -0
  1182. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item/link-menu-item---selected---pressed--default.png +0 -0
  1183. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-click-target---desktop-chrome.png +0 -0
  1184. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-click-target---desktop-firefox.png +0 -0
  1185. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-click-target---desktop-webkit.png +0 -0
  1186. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-hover---desktop-chrome.png +0 -0
  1187. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-hover---desktop-firefox.png +0 -0
  1188. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-hover---desktop-webkit.png +0 -0
  1189. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-too-far-back---desktop-chrome.png +0 -0
  1190. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-too-far-back---desktop-firefox.png +0 -0
  1191. package/src/ui/menu-item/__tests__/informational-vr-tests/__snapshots__/menu-item-increased-hitbox/increasing-hitbox-for-nested-items-too-far-back---desktop-webkit.png +0 -0
  1192. package/src/ui/menu-item/__tests__/informational-vr-tests/menu-item-increased-hitbox.vr.tsx +79 -0
  1193. package/src/ui/menu-item/__tests__/informational-vr-tests/menu-item.vr.tsx +151 -0
  1194. package/src/ui/menu-item/__tests__/playwright/scroll-into-view.spec.tsx +92 -0
  1195. package/src/ui/menu-item/__tests__/unit/_util.tsx +40 -0
  1196. package/src/ui/menu-item/__tests__/unit/expandable-menu-item.test.tsx +1094 -0
  1197. package/src/ui/menu-item/__tests__/unit/flyout-menu-item.test.tsx +422 -0
  1198. package/src/ui/menu-item/__tests__/unit/menu-item.test.tsx +649 -0
  1199. package/src/ui/menu-item/__tests__/unit/top-level-spacer.test.tsx +94 -0
  1200. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item--desktop-chrome.png +0 -0
  1201. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item--desktop-webkit.png +0 -0
  1202. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-combine--desktop-chrome.png +0 -0
  1203. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-combine--desktop-webkit.png +0 -0
  1204. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-after--desktop-chrome.png +0 -0
  1205. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-after--desktop-webkit.png +0 -0
  1206. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-before--desktop-chrome.png +0 -0
  1207. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/button-menu-item-reorder-before--desktop-webkit.png +0 -0
  1208. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-combine--desktop-chrome.png +0 -0
  1209. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-combine--desktop-webkit.png +0 -0
  1210. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-after--desktop-chrome.png +0 -0
  1211. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-after--desktop-webkit.png +0 -0
  1212. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-before--desktop-chrome.png +0 -0
  1213. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-reorder-before--desktop-webkit.png +0 -0
  1214. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-trigger--desktop-chrome.png +0 -0
  1215. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/expandable-menu-item-trigger--desktop-webkit.png +0 -0
  1216. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-combine--desktop-chrome.png +0 -0
  1217. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-combine--desktop-webkit.png +0 -0
  1218. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-after--desktop-chrome.png +0 -0
  1219. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-after--desktop-webkit.png +0 -0
  1220. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-before--desktop-chrome.png +0 -0
  1221. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-reorder-before--desktop-webkit.png +0 -0
  1222. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-trigger--desktop-chrome.png +0 -0
  1223. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/flyout-menu-item-trigger--desktop-webkit.png +0 -0
  1224. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item--desktop-chrome.png +0 -0
  1225. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item--desktop-webkit.png +0 -0
  1226. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine--desktop-chrome.png +0 -0
  1227. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine--desktop-webkit.png +0 -0
  1228. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine-blocked--desktop-chrome.png +0 -0
  1229. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-combine-blocked--desktop-webkit.png +0 -0
  1230. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after--desktop-chrome.png +0 -0
  1231. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after--desktop-webkit.png +0 -0
  1232. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after-blocked--desktop-chrome.png +0 -0
  1233. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-after-blocked--desktop-webkit.png +0 -0
  1234. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before--desktop-chrome.png +0 -0
  1235. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before--desktop-webkit.png +0 -0
  1236. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before-blocked--desktop-chrome.png +0 -0
  1237. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/drag-and-drop/link-menu-item-reorder-before-blocked--desktop-webkit.png +0 -0
  1238. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---action-focused--default.png +0 -0
  1239. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---action-hovered--default.png +0 -0
  1240. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---default-state--default.png +0 -0
  1241. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---elembefore-focused--default.png +0 -0
  1242. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---elembefore-hovered--default.png +0 -0
  1243. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---menu-item-focused--default.png +0 -0
  1244. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---custom-elembefore---menu-item-hovered--default.png +0 -0
  1245. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---selected-with-dropdown-action-open--default.png +0 -0
  1246. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---with-dropdown-action-open--default.png +0 -0
  1247. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item---with-dropdown-action-open-and-hovered--default.png +0 -0
  1248. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-collapsed-with-selected-child--default.png +0 -0
  1249. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-actions-on-hover--default.png +0 -0
  1250. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-actions-on-hover-and-elem-after--default.png +0 -0
  1251. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-expanded-with-elem-after--default.png +0 -0
  1252. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-nested--default.png +0 -0
  1253. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-nested-rtl--default.png +0 -0
  1254. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-selected--default.png +0 -0
  1255. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-selected-with-icon--default.png +0 -0
  1256. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions--default.png +0 -0
  1257. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover---hovered--default.png +0 -0
  1258. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover---selected-and-hovered--default.png +0 -0
  1259. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover--default.png +0 -0
  1260. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover-and-elem-after---hovered--default.png +0 -0
  1261. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/expandable/expandable-menu-item-with-actions-on-hover-and-elem-after--default.png +0 -0
  1262. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/a-flyout-menu-with-a-nested-popup-using-shouldrendertoparent---default.png +0 -0
  1263. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-example--default.png +0 -0
  1264. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-rtl--default.png +0 -0
  1265. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-default-open-selected-vr--default.png +0 -0
  1266. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-example--default.png +0 -0
  1267. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/flyout-menu-item/flyout-menu-item-rtl--default.png +0 -0
  1268. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-chrome.png +0 -0
  1269. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-firefox.png +0 -0
  1270. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled---hovered--desktop-webkit.png +0 -0
  1271. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-chrome.png +0 -0
  1272. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-firefox.png +0 -0
  1273. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled--desktop-webkit.png +0 -0
  1274. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-chrome.png +0 -0
  1275. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-firefox.png +0 -0
  1276. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---disabled-with-actions--desktop-webkit.png +0 -0
  1277. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-chrome.png +0 -0
  1278. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-firefox.png +0 -0
  1279. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item---with-dropdown-action-open--desktop-webkit.png +0 -0
  1280. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-chrome.png +0 -0
  1281. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-firefox.png +0 -0
  1282. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-example--desktop-webkit.png +0 -0
  1283. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-chrome.png +0 -0
  1284. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-firefox.png +0 -0
  1285. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-rtlexample--desktop-webkit.png +0 -0
  1286. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-focus--desktop-chrome.png +0 -0
  1287. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-focus--desktop-firefox.png +0 -0
  1288. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-focus--desktop-webkit.png +0 -0
  1289. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-hover--desktop-chrome.png +0 -0
  1290. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-hover--desktop-firefox.png +0 -0
  1291. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-actions-on-hover-appearing-on-hover--desktop-webkit.png +0 -0
  1292. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-chrome.png +0 -0
  1293. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-firefox.png +0 -0
  1294. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-elem-after-and-hovered--desktop-webkit.png +0 -0
  1295. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-chrome.png +0 -0
  1296. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-firefox.png +0 -0
  1297. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/button-menu-item-with-popup--desktop-webkit.png +0 -0
  1298. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-chrome.png +0 -0
  1299. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-firefox.png +0 -0
  1300. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item---with-dropdown-action-open--desktop-webkit.png +0 -0
  1301. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-chrome.png +0 -0
  1302. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-firefox.png +0 -0
  1303. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-bleed--desktop-webkit.png +0 -0
  1304. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-chrome.png +0 -0
  1305. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-firefox.png +0 -0
  1306. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-example--desktop-webkit.png +0 -0
  1307. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-chrome.png +0 -0
  1308. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-firefox.png +0 -0
  1309. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-rtlexample--desktop-webkit.png +0 -0
  1310. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-focus--desktop-chrome.png +0 -0
  1311. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-focus--desktop-firefox.png +0 -0
  1312. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-focus--desktop-webkit.png +0 -0
  1313. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-hover--desktop-chrome.png +0 -0
  1314. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-hover--desktop-firefox.png +0 -0
  1315. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-actions-on-hover-appearing-on-hover--desktop-webkit.png +0 -0
  1316. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-chrome.png +0 -0
  1317. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-firefox.png +0 -0
  1318. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/link-menu-item-with-elem-after-and-hovered--desktop-webkit.png +0 -0
  1319. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-chrome.png +0 -0
  1320. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-firefox.png +0 -0
  1321. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-item-avatar-example--desktop-webkit.png +0 -0
  1322. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-chrome.png +0 -0
  1323. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-firefox.png +0 -0
  1324. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item/menu-items-in-a-narrow-container--desktop-webkit.png +0 -0
  1325. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-long---default.png +0 -0
  1326. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-none---default.png +0 -0
  1327. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-long---description-short---default.png +0 -0
  1328. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-long---default.png +0 -0
  1329. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-none---default.png +0 -0
  1330. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item--content-short---description-short---default.png +0 -0
  1331. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item-add-action-button--default.png +0 -0
  1332. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/button-menu-item-with-tooltip-disabled--default.png +0 -0
  1333. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item--content-long---default.png +0 -0
  1334. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item--content-short---default.png +0 -0
  1335. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/expandable-menu-item-with-tooltip-disabled--default.png +0 -0
  1336. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item--content-long---default.png +0 -0
  1337. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item--content-short---default.png +0 -0
  1338. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/flyout-menu-item-with-tooltip-disabled--default.png +0 -0
  1339. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-long---default.png +0 -0
  1340. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-none---default.png +0 -0
  1341. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-long---description-short---default.png +0 -0
  1342. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-long---default.png +0 -0
  1343. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-none---default.png +0 -0
  1344. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item--content-short---description-short---default.png +0 -0
  1345. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/link-menu-item-with-tooltip-disabled--default.png +0 -0
  1346. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/menu-item-conditional-tooltip/menu-item-button-with-nested-children--default.png +0 -0
  1347. package/src/ui/menu-item/__tests__/vr-tests/__snapshots__/top-level-spacer/global-apps-example--default.png +0 -0
  1348. package/src/ui/menu-item/__tests__/vr-tests/drag-and-drop.vr.tsx +172 -0
  1349. package/src/ui/menu-item/__tests__/vr-tests/expandable.vr.tsx +248 -0
  1350. package/src/ui/menu-item/__tests__/vr-tests/flyout-menu-item.vr.tsx +46 -0
  1351. package/src/ui/menu-item/__tests__/vr-tests/menu-item-conditional-tooltip.vr.tsx +312 -0
  1352. package/src/ui/menu-item/__tests__/vr-tests/menu-item.vr.tsx +210 -0
  1353. package/src/ui/menu-item/__tests__/vr-tests/top-level-spacer.vr.tsx +17 -0
  1354. package/src/ui/menu-item/button-menu-item.tsx +87 -0
  1355. package/src/ui/menu-item/constants.tsx +15 -0
  1356. package/src/ui/menu-item/container-avatar.tsx +39 -0
  1357. package/src/ui/menu-item/drag-and-drop/drag-preview.tsx +98 -0
  1358. package/src/ui/menu-item/drag-and-drop/drop-indicator.tsx +11 -0
  1359. package/src/ui/menu-item/drag-and-drop/group-drop-indicator.tsx +7 -0
  1360. package/src/ui/menu-item/drag-and-drop/hitbox.tsx +13 -0
  1361. package/src/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.tsx +243 -0
  1362. package/src/ui/menu-item/drag-handle.tsx +42 -0
  1363. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-content.tsx +84 -0
  1364. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-context.tsx +61 -0
  1365. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.tsx +9 -0
  1366. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.tsx +308 -0
  1367. package/src/ui/menu-item/expandable-menu-item/expandable-menu-item.tsx +114 -0
  1368. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-content.tsx +92 -0
  1369. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-context.tsx +19 -0
  1370. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.tsx +124 -0
  1371. package/src/ui/menu-item/flyout-menu-item/flyout-menu-item.tsx +98 -0
  1372. package/src/ui/menu-item/link-menu-item.tsx +119 -0
  1373. package/src/ui/menu-item/menu-item-signals.tsx +6 -0
  1374. package/src/ui/menu-item/menu-item.tsx +853 -0
  1375. package/src/ui/menu-item/menu-list-item.tsx +12 -0
  1376. package/src/ui/menu-item/menu-list.tsx +12 -0
  1377. package/src/ui/menu-item/top-level-spacer.tsx +49 -0
  1378. package/src/ui/menu-item/types.tsx +181 -0
  1379. package/src/ui/menu-item/use-scroll-menu-item-into-view.tsx +78 -0
  1380. package/src/ui/menu-section/__tests__/unit/menu-section.test.tsx +96 -0
  1381. package/src/ui/menu-section/__tests__/vr-tests/__snapshots__/divider/divider--default.png +0 -0
  1382. package/src/ui/menu-section/__tests__/vr-tests/__snapshots__/menu-section/menu-section-example--default.png +0 -0
  1383. package/src/ui/menu-section/__tests__/vr-tests/divider.vr.tsx +14 -0
  1384. package/src/ui/menu-section/__tests__/vr-tests/menu-section.vr.tsx +14 -0
  1385. package/src/ui/menu-section/divider.tsx +33 -0
  1386. package/src/ui/menu-section/menu-section-context.tsx +15 -0
  1387. package/src/ui/menu-section/menu-section-heading.tsx +43 -0
  1388. package/src/ui/menu-section/menu-section.tsx +70 -0
  1389. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/large-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-false.png +0 -0
  1390. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/large-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-true.png +0 -0
  1391. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/small-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-false.png +0 -0
  1392. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/page-layout/small-panel-default-width-on-mobile--desktop--platform-design-system-nav4-panel-mobile-width-fix-true.png +0 -0
  1393. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-false.png +0 -0
  1394. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-true.png +0 -0
  1395. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-false.png +0 -0
  1396. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-true.png +0 -0
  1397. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-false.png +0 -0
  1398. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-true.png +0 -0
  1399. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-false.png +0 -0
  1400. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/above-md-breakpoint---side-nav-flyout--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-true.png +0 -0
  1401. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-false.png +0 -0
  1402. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-false-platform-design-system-nav4-sidenav-border-true.png +0 -0
  1403. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-false.png +0 -0
  1404. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/slot-borders/below-md-breakpoint---side-nav-expanded--default--platform-design-system-nav4-panel-default-border-true-platform-design-system-nav4-sidenav-border-true.png +0 -0
  1405. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg---composition--firefox.png +0 -0
  1406. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg---with-min-widths--firefox.png +0 -0
  1407. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-lg--firefox.png +0 -0
  1408. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md---composition--firefox.png +0 -0
  1409. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md---with-min-widths--firefox.png +0 -0
  1410. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-md--firefox.png +0 -0
  1411. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-sm---with-min-widths--firefox.png +0 -0
  1412. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-sm--firefox.png +0 -0
  1413. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl---composition--firefox.png +0 -0
  1414. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl---with-min-widths--firefox.png +0 -0
  1415. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xl--firefox.png +0 -0
  1416. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xs---with-min-widths--firefox.png +0 -0
  1417. package/src/ui/page-layout/__tests__/informational-vr-tests/__snapshots__/top-nav/breakpoint-xs--firefox.png +0 -0
  1418. package/src/ui/page-layout/__tests__/informational-vr-tests/page-layout.vr.tsx +53 -0
  1419. package/src/ui/page-layout/__tests__/informational-vr-tests/slot-borders.vr.tsx +54 -0
  1420. package/src/ui/page-layout/__tests__/informational-vr-tests/top-nav.vr.tsx +207 -0
  1421. package/src/ui/page-layout/__tests__/unit/aside.test.tsx +21 -0
  1422. package/src/ui/page-layout/__tests__/unit/banner.test.tsx +31 -0
  1423. package/src/ui/page-layout/__tests__/unit/get-width.test.tsx +12 -0
  1424. package/src/ui/page-layout/__tests__/unit/hoist-utils.test.tsx +85 -0
  1425. package/src/ui/page-layout/__tests__/unit/page-layout.test.tsx +278 -0
  1426. package/src/ui/page-layout/__tests__/unit/panel-splitter.test.tsx +771 -0
  1427. package/src/ui/page-layout/__tests__/unit/panel.test.tsx +77 -0
  1428. package/src/ui/page-layout/__tests__/unit/resizing.test.tsx +706 -0
  1429. package/src/ui/page-layout/__tests__/unit/side-nav-flyout.test.tsx +1154 -0
  1430. package/src/ui/page-layout/__tests__/unit/side-nav.test.tsx +771 -0
  1431. package/src/ui/page-layout/__tests__/unit/sticky-header.test.tsx +57 -0
  1432. package/src/ui/page-layout/__tests__/unit/test-utils.tsx +185 -0
  1433. package/src/ui/page-layout/__tests__/unit/top-nav-end.test.tsx +132 -0
  1434. package/src/ui/page-layout/__tests__/unit/top-nav.test.tsx +28 -0
  1435. package/src/ui/page-layout/__tests__/unit/use-expand-side-nav.test.tsx +278 -0
  1436. package/src/ui/page-layout/__tests__/unit/use-text-direction.test.tsx +37 -0
  1437. package/src/ui/page-layout/__tests__/unit/use-toggle-side-nav.test.tsx +233 -0
  1438. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled--desktop.png +0 -0
  1439. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled--mobile.png +0 -0
  1440. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled-side-nav-collapsed--desktop.png +0 -0
  1441. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-disabled-side-nav-collapsed--mobile.png +0 -0
  1442. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled--desktop.png +0 -0
  1443. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled--mobile.png +0 -0
  1444. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-full-screen-mode--desktop.png +0 -0
  1445. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-full-screen-mode--mobile.png +0 -0
  1446. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-side-nav-collapsed--desktop.png +0 -0
  1447. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/main-content-border/main-content-border---theming-enabled-side-nav-collapsed--mobile.png +0 -0
  1448. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots--desktop.png +0 -0
  1449. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots--mobile.png +0 -0
  1450. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-banner-height-zero--desktop.png +0 -0
  1451. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-banner-height-zero--mobile.png +0 -0
  1452. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-custom-sizes--desktop.png +0 -0
  1453. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-custom-sizes--mobile.png +0 -0
  1454. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-rtl--desktop.png +0 -0
  1455. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-rtl--mobile.png +0 -0
  1456. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable--desktop.png +0 -0
  1457. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable--mobile.png +0 -0
  1458. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable-fixed--desktop.png +0 -0
  1459. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/all-slots-scrollable-fixed--mobile.png +0 -0
  1460. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/aside-composed-with-border--desktop.png +0 -0
  1461. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/aside-composed-with-border--mobile.png +0 -0
  1462. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned--desktop.png +0 -0
  1463. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned--mobile.png +0 -0
  1464. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-collapsed--desktop.png +0 -0
  1465. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-collapsed--mobile.png +0 -0
  1466. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-custom-sizes--desktop.png +0 -0
  1467. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-custom-sizes--mobile.png +0 -0
  1468. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-panel-visible--desktop.png +0 -0
  1469. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-panel-visible--mobile.png +0 -0
  1470. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-resizable--desktop.png +0 -0
  1471. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-sibling-absolute-positioned-resizable--mobile.png +0 -0
  1472. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-using-legacy-vars--desktop.png +0 -0
  1473. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/edge-case-using-legacy-vars--mobile.png +0 -0
  1474. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside--desktop.png +0 -0
  1475. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside--mobile.png +0 -0
  1476. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable--desktop.png +0 -0
  1477. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable--mobile.png +0 -0
  1478. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable-fixed--desktop.png +0 -0
  1479. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/main-aside-scrollable-fixed--mobile.png +0 -0
  1480. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/page-layout-implicit-rows--desktop.png +0 -0
  1481. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/page-layout-implicit-rows--mobile.png +0 -0
  1482. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---default-widths--desktop.png +0 -0
  1483. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---default-widths--mobile.png +0 -0
  1484. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---zero-widths--desktop.png +0 -0
  1485. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-and-aside---zero-widths--mobile.png +0 -0
  1486. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-default-background-color--desktop.png +0 -0
  1487. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-default-background-color--mobile.png +0 -0
  1488. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-should-have-correct-width-when-there-is-no-sidenav-mounted--desktop--platform-design-system-nav4-preview-panel-support-false.png +0 -0
  1489. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/panel-should-have-correct-width-when-there-is-no-sidenav-mounted--desktop--platform-design-system-nav4-preview-panel-support-true.png +0 -0
  1490. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/resizable--desktop.png +0 -0
  1491. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-content-slot---scroll-with-sticky-child--desktop.png +0 -0
  1492. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-custom-width-greater-than-max-width--desktop.png +0 -0
  1493. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-custom-width-smaller-than-min-width--desktop.png +0 -0
  1494. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside--desktop.png +0 -0
  1495. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside--mobile.png +0 -0
  1496. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable--desktop.png +0 -0
  1497. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable--mobile.png +0 -0
  1498. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable-fixed--desktop.png +0 -0
  1499. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-main-aside-scrollable-fixed--mobile.png +0 -0
  1500. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-overflowing-children--desktop.png +0 -0
  1501. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-slots--desktop.png +0 -0
  1502. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-with-menu-items--desktop.png +0 -0
  1503. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/side-nav-with-menu-items--mobile.png +0 -0
  1504. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main--desktop.png +0 -0
  1505. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main--mobile.png +0 -0
  1506. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside--desktop.png +0 -0
  1507. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside--mobile.png +0 -0
  1508. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable--desktop.png +0 -0
  1509. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable--mobile.png +0 -0
  1510. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable-fixed--desktop.png +0 -0
  1511. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-aside-scrollable-fixed--mobile.png +0 -0
  1512. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable--desktop.png +0 -0
  1513. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable--mobile.png +0 -0
  1514. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable-fixed--desktop.png +0 -0
  1515. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/page-layout/top-bar-side-nav-main-scrollable-fixed--mobile.png +0 -0
  1516. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/focused-panel-splitter-with-position-end--default.png +0 -0
  1517. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/focused-panel-splitter-with-position-start--default.png +0 -0
  1518. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-end--default--platform-nav4-panel-splitter-keyboard-a11y-false.png +0 -0
  1519. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-end--default--platform-nav4-panel-splitter-keyboard-a11y-true.png +0 -0
  1520. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-start--default--platform-nav4-panel-splitter-keyboard-a11y-false.png +0 -0
  1521. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/panel-splitter/hovered-panel-splitter-with-position-start--default--platform-nav4-panel-splitter-keyboard-a11y-true.png +0 -0
  1522. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed--desktop.png +0 -0
  1523. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed--mobile.png +0 -0
  1524. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-toggle-button-hovered--desktop.png +0 -0
  1525. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-toggle-button-hovered--mobile.png +0 -0
  1526. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer--desktop.png +0 -0
  1527. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer--mobile.png +0 -0
  1528. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer-toggle-button-hovered--desktop.png +0 -0
  1529. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-collapsed-with-open-child-layer-toggle-button-hovered--mobile.png +0 -0
  1530. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded--desktop.png +0 -0
  1531. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded--mobile.png +0 -0
  1532. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-toggle-button-hovered--desktop.png +0 -0
  1533. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-toggle-button-hovered--mobile.png +0 -0
  1534. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer--desktop.png +0 -0
  1535. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer--mobile.png +0 -0
  1536. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer-toggle-button-hovered--desktop.png +0 -0
  1537. package/src/ui/page-layout/__tests__/vr-tests/__snapshots__/side-nav-flyout/side-nav-default-expanded-with-open-child-layer-toggle-button-hovered--mobile.png +0 -0
  1538. package/src/ui/page-layout/__tests__/vr-tests/main-content-border.vr.tsx +47 -0
  1539. package/src/ui/page-layout/__tests__/vr-tests/page-layout.vr.tsx +337 -0
  1540. package/src/ui/page-layout/__tests__/vr-tests/panel-splitter.vr.tsx +72 -0
  1541. package/src/ui/page-layout/__tests__/vr-tests/side-nav-flyout.vr.tsx +170 -0
  1542. package/src/ui/page-layout/aside.tsx +246 -0
  1543. package/src/ui/page-layout/banner.tsx +92 -0
  1544. package/src/ui/page-layout/constants.tsx +56 -0
  1545. package/src/ui/page-layout/hoist-slot-sizes-context.tsx +7 -0
  1546. package/src/ui/page-layout/hoist-utils.tsx +64 -0
  1547. package/src/ui/page-layout/id-utils.tsx +33 -0
  1548. package/src/ui/page-layout/main/main-sticky-context.tsx +6 -0
  1549. package/src/ui/page-layout/main/main-sticky-header.tsx +64 -0
  1550. package/src/ui/page-layout/main/main.tsx +109 -0
  1551. package/src/ui/page-layout/panel-splitter/context.tsx +60 -0
  1552. package/src/ui/page-layout/panel-splitter/convert-resize-bound-to-pixels.tsx +20 -0
  1553. package/src/ui/page-layout/panel-splitter/get-percentage-within-pixel-bounds.tsx +35 -0
  1554. package/src/ui/page-layout/panel-splitter/get-width.tsx +33 -0
  1555. package/src/ui/page-layout/panel-splitter/keyboard-resize-manager.tsx +89 -0
  1556. package/src/ui/page-layout/panel-splitter/panel-splitter.tsx +469 -0
  1557. package/src/ui/page-layout/panel-splitter/provider.tsx +65 -0
  1558. package/src/ui/page-layout/panel-splitter/types.tsx +25 -0
  1559. package/src/ui/page-layout/panel-splitter/use-text-direction.tsx +17 -0
  1560. package/src/ui/page-layout/panel.tsx +338 -0
  1561. package/src/ui/page-layout/root.tsx +162 -0
  1562. package/src/ui/page-layout/side-nav/element-context.tsx +18 -0
  1563. package/src/ui/page-layout/side-nav/flyout-close-delay-ms.tsx +12 -0
  1564. package/src/ui/page-layout/side-nav/side-nav-content.tsx +57 -0
  1565. package/src/ui/page-layout/side-nav/side-nav-footer.tsx +48 -0
  1566. package/src/ui/page-layout/side-nav/side-nav-header.tsx +32 -0
  1567. package/src/ui/page-layout/side-nav/side-nav.tsx +886 -0
  1568. package/src/ui/page-layout/side-nav/toggle-button-context.tsx +21 -0
  1569. package/src/ui/page-layout/side-nav/toggle-button-provider.tsx +28 -0
  1570. package/src/ui/page-layout/side-nav/toggle-button.tsx +176 -0
  1571. package/src/ui/page-layout/side-nav/types.tsx +18 -0
  1572. package/src/ui/page-layout/side-nav/use-expand-side-nav.tsx +57 -0
  1573. package/src/ui/page-layout/side-nav/use-side-nav-visibility-callbacks.tsx +75 -0
  1574. package/src/ui/page-layout/side-nav/use-side-nav-visibility.tsx +43 -0
  1575. package/src/ui/page-layout/side-nav/use-toggle-side-nav.tsx +47 -0
  1576. package/src/ui/page-layout/side-nav/visibility-context.tsx +17 -0
  1577. package/src/ui/page-layout/side-nav/visibility-provider.tsx +20 -0
  1578. package/src/ui/page-layout/top-nav/top-nav-end.tsx +168 -0
  1579. package/src/ui/page-layout/top-nav/top-nav-middle.tsx +111 -0
  1580. package/src/ui/page-layout/top-nav/top-nav-start.tsx +96 -0
  1581. package/src/ui/page-layout/top-nav/top-nav.tsx +142 -0
  1582. package/src/ui/page-layout/types.tsx +20 -0
  1583. package/src/ui/page-layout/use-resizing-width-css-var-on-root-element.tsx +70 -0
  1584. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover---custom-theming--desktop.png +0 -0
  1585. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover---custom-theming--mobile.png +0 -0
  1586. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover--desktop.png +0 -0
  1587. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-hover--mobile.png +0 -0
  1588. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed---custom-theming--desktop.png +0 -0
  1589. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed---custom-theming--mobile.png +0 -0
  1590. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed--desktop.png +0 -0
  1591. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/nav-logo-pressed--mobile.png +0 -0
  1592. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/responsive-menu-items--mobile.png +0 -0
  1593. package/src/ui/top-nav-items/__tests__/informational-vr-tests/__snapshots__/top-navigation/responsive-menu-items-on-click--mobile.png +0 -0
  1594. package/src/ui/top-nav-items/__tests__/informational-vr-tests/top-navigation.vr.tsx +108 -0
  1595. package/src/ui/top-nav-items/__tests__/playwright/theming.spec.tsx +21 -0
  1596. package/src/ui/top-nav-items/__tests__/unit/chat-button.test.tsx +40 -0
  1597. package/src/ui/top-nav-items/__tests__/unit/create-button.test.tsx +34 -0
  1598. package/src/ui/top-nav-items/__tests__/unit/end-item.test.tsx +43 -0
  1599. package/src/ui/top-nav-items/__tests__/unit/help.test.tsx +101 -0
  1600. package/src/ui/top-nav-items/__tests__/unit/notifications.test.tsx +63 -0
  1601. package/src/ui/top-nav-items/__tests__/unit/profile.test.tsx +65 -0
  1602. package/src/ui/top-nav-items/__tests__/unit/settings.test.tsx +51 -0
  1603. package/src/ui/top-nav-items/__tests__/unit/theming.test.tsx +76 -0
  1604. package/src/ui/top-nav-items/__tests__/unit/top-nav-items.test.tsx +181 -0
  1605. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/log-in-button--desktop.png +0 -0
  1606. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/search-right-elem--default.png +0 -0
  1607. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-an-hsl-color--desktop.png +0 -0
  1608. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theme-is-applied-with-an-rgb-color--desktop.png +0 -0
  1609. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-button-focus-state--default.png +0 -0
  1610. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-button-hover-state--default.png +0 -0
  1611. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-create-button-hover-state--desktop.png +0 -0
  1612. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-link-button-focus-state--default.png +0 -0
  1613. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-link-button-hover-state--default.png +0 -0
  1614. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/themed-search-focus-state--default.png +0 -0
  1615. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theming-is-enabled--desktop--platform-team25-app-icon-tiles-false.png +0 -0
  1616. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/theming-is-enabled--desktop--platform-team25-app-icon-tiles-true.png +0 -0
  1617. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-custom-profile-image--default.png +0 -0
  1618. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-side-nav-collapsed--desktop.png +0 -0
  1619. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-nav-side-nav-collapsed--mobile.png +0 -0
  1620. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo200x200example--desktop.png +0 -0
  1621. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo200x200example--mobile.png +0 -0
  1622. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo200x20example--desktop.png +0 -0
  1623. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo200x20example--mobile.png +0 -0
  1624. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo20x200example--desktop.png +0 -0
  1625. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo20x200example--mobile.png +0 -0
  1626. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo20x20example--desktop.png +0 -0
  1627. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-custom-logo20x20example--mobile.png +0 -0
  1628. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--desktop--platform-team25-app-icon-tiles-false.png +0 -0
  1629. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--desktop--platform-team25-app-icon-tiles-true.png +0 -0
  1630. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--mobile--platform-team25-app-icon-tiles-false.png +0 -0
  1631. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-example--mobile--platform-team25-app-icon-tiles-true.png +0 -0
  1632. package/src/ui/top-nav-items/__tests__/vr-tests/__snapshots__/top-navigation/top-navigation-with-a-large-search-input-in-focus-state--default.png +0 -0
  1633. package/src/ui/top-nav-items/__tests__/vr-tests/top-navigation.vr.tsx +154 -0
  1634. package/src/ui/top-nav-items/app-switcher.tsx +81 -0
  1635. package/src/ui/top-nav-items/chat-button.tsx +49 -0
  1636. package/src/ui/top-nav-items/create-button.tsx +51 -0
  1637. package/src/ui/top-nav-items/custom-title.tsx +88 -0
  1638. package/src/ui/top-nav-items/end-item.tsx +120 -0
  1639. package/src/ui/top-nav-items/help.tsx +69 -0
  1640. package/src/ui/top-nav-items/log-in.tsx +66 -0
  1641. package/src/ui/top-nav-items/nav-logo.tsx +287 -0
  1642. package/src/ui/top-nav-items/notifications.tsx +67 -0
  1643. package/src/ui/top-nav-items/profile.tsx +26 -0
  1644. package/src/ui/top-nav-items/search.tsx +120 -0
  1645. package/src/ui/top-nav-items/settings.tsx +16 -0
  1646. package/src/ui/top-nav-items/themed/__tests__/unit/button.test.tsx +57 -0
  1647. package/src/ui/top-nav-items/themed/__tests__/unit/use-custom-theme.test.tsx +43 -0
  1648. package/src/ui/top-nav-items/themed/button.tsx +576 -0
  1649. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/hex.test.tsx +131 -0
  1650. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/hsl.test.tsx +117 -0
  1651. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/rgb.test.tsx +88 -0
  1652. package/src/ui/top-nav-items/themed/color-utils/__tests__/unit/try-parse-user-color.test.tsx +35 -0
  1653. package/src/ui/top-nav-items/themed/color-utils/formats/hex.tsx +47 -0
  1654. package/src/ui/top-nav-items/themed/color-utils/formats/hsl.tsx +112 -0
  1655. package/src/ui/top-nav-items/themed/color-utils/formats/rgb.tsx +41 -0
  1656. package/src/ui/top-nav-items/themed/color-utils/index.tsx +111 -0
  1657. package/src/ui/top-nav-items/themed/color-utils/parse-user-color.tsx +31 -0
  1658. package/src/ui/top-nav-items/themed/color-utils/types.tsx +6 -0
  1659. package/src/ui/top-nav-items/themed/get-custom-theme-styles.tsx +186 -0
  1660. package/src/ui/top-nav-items/themed/has-custom-theme-context.tsx +13 -0
  1661. package/src/ui/top-nav-items/themed/migration.tsx +70 -0
  1662. package/src/ui/top-nav-items/themed/palette.tsx +53 -0
  1663. package/src/ui/top-nav-items/themed/search.tsx +70 -0
  1664. package/src/ui/top-nav-items/themed/use-custom-theme.tsx +51 -0
  1665. package/top-nav-items/create-button/package.json +17 -0
  1666. package/top-nav-items/custom-title/package.json +17 -0
  1667. package/top-nav-items/help/package.json +17 -0
  1668. package/top-nav-items/log-in/package.json +17 -0
  1669. package/top-nav-items/notifications/package.json +17 -0
  1670. package/top-nav-items/package.json +17 -0
  1671. package/top-nav-items/profile/package.json +17 -0
  1672. package/top-nav-items/settings/package.json +17 -0
  1673. package/tsconfig.app.json +92 -0
  1674. package/tsconfig.dev.json +173 -0
  1675. package/tsconfig.json +16 -0
@@ -0,0 +1,1079 @@
1
+ ---
2
+ title: Drag and drop for side navigation
3
+ # description: Adding drag and drop to the sidebar
4
+ order: 2
5
+ ---
6
+
7
+ import SectionMessage, { SectionMessageAction } from '@atlaskit/section-message';
8
+ import Lozenge from '@atlaskit/lozenge';
9
+ import { IconButton } from '@atlaskit/button/new';
10
+ import ShowMoreHorizontalIcon from '@atlaskit/icon/core/show-more-horizontal';
11
+ import { AllMenuItems } from '../../examples/drag-and-drop/simple';
12
+ import { StandaloneJiraSidebar } from '../../examples/drag-and-drop/standalone-jira-sidebar';
13
+
14
+ This guide will show you how to setup drag and drop for menu items in the side navigation. These
15
+ guidelines correspond to our wider drag and drop
16
+ [design guidelines](/components/pragmatic-drag-and-drop/design-guidelines) and
17
+ [accessibility guidelines](/components/pragmatic-drag-and-drop/accessibility-guidelines/), adding
18
+ some specific affordances and decisions specifically for our side navigation.
19
+
20
+ <Example Component={StandaloneJiraSidebar} appearance="showcase-only" />
21
+
22
+ <details>
23
+ <summary>Thinking about our approach</summary>
24
+
25
+ Our approach to drag and drop in the sidebar has been guided by three concerns:
26
+
27
+ 1. **Performance**: we only want consumers who need drag and drop to include code for it.
28
+ 2. **Flexibility**: we have created a system that lets you achieve any drag and drop operation you
29
+ could think of, and puts you in control of all of the business logic
30
+ 3. **Consistency**: we want drag and drop operations in the sidebar to all feel the same to our
31
+ users
32
+
33
+ These desired outcomes have pushed us towards a solution were we provide a lot of the small pieces,
34
+ and it is up to you to put them together.
35
+
36
+ </details>
37
+
38
+ <SectionMessage title="Required" appearance="warning">
39
+
40
+ It is so important that you stay within these guidelines for your experiences as it will promote
41
+ user experience consistency as well as enable us to more easily evolve all experiences.
42
+
43
+ </SectionMessage>
44
+
45
+ <SectionMessage title="Pre reading" appearance="discovery" actions={<SectionMessageAction href="/components/pragmatic-drag-and-drop">Learn about Pragmatic drag and drop</SectionMessageAction>}>
46
+
47
+ This guide assumes you already have a working knowledge of Pragmatic drag and drop.
48
+
49
+ </SectionMessage>
50
+
51
+ ## Before a drag
52
+
53
+ **<Lozenge appearance="success" isBold>Goal</Lozenge> let a user know that a menu item can be
54
+ dragged**
55
+
56
+ All types of sidebar menu items can be dragged (`ButtonMenuItem`, `LinkMenuItem`,
57
+ `FlyoutMenuItemTrigger`, `ExpandableMenuItemTrigger`).
58
+
59
+ By default, menu items are _not draggable_ and you need to opt into making them draggable. To make a
60
+ menu item draggable there are two things you need to do:
61
+
62
+ 1. Set `hasDragIndicator` to `true` on the menu item
63
+ 2. Make the menu item `draggable()`
64
+
65
+ ### `hasDragIndicator`
66
+
67
+ Setting `hasDragIndicator` to true on a menu item will enable visual affordances on the menu item to
68
+ make it clear that the item is draggable:
69
+
70
+ - Showing a drag handle icon before the start of the menu item on `:hover`
71
+ - **Changing** the cursor to `grab` after `800ms`. We have a delayed cursor change as
72
+ [dragging is a non-primary action](/components/pragmatic-drag-and-drop/design-guidelines#cursor-changes)
73
+
74
+ `hasDragIndicator` will not automatically make the menu item a `draggable` (which is why we avoided
75
+ the prop name `isDraggable` or `draggable`) - you need to make the item a `draggable` element in
76
+ step 2.
77
+
78
+ ```tsx
79
+ function Item({ item }) {
80
+ return <ButtonMenuItem hasDragIndicator>{item.content}</ButtonMenuItem>;
81
+ }
82
+ ```
83
+
84
+ ### Make the menu item `draggable()`
85
+
86
+ You make a menu item _actually_ draggable by users with `draggable({element})` from Pragmatic drag
87
+ and drop.
88
+
89
+ Be sure to use the forwarded `ref` from the menu item as the `draggable` element, and not another
90
+ `ref` such as `visualContentRef`. We want users to be able to drag from the main interactive element
91
+ of a menu item (the `ref`), but not from buttons (eg `actions` or `actionsOnHover`) that appear on
92
+ top of menu items.
93
+
94
+ With `useMenuItemDragAndDrop()` _(recommended)_
95
+
96
+ ```tsx
97
+ function Item({ item }) {
98
+ const { draggableButtonRef } = useMenuItemDragAndDrop({
99
+ draggable: {
100
+ /*...*/
101
+ },
102
+ });
103
+
104
+ return (
105
+ <ButtonMenuItem ref={draggableButtonRef} hasDragIndicator>
106
+ {item.content}
107
+ </ButtonMenuItem>
108
+ );
109
+ }
110
+ ```
111
+
112
+ Without `useMenuItemDragAndDrop()`
113
+
114
+ ```tsx
115
+ function Item({ item }) {
116
+ const ref = useRef<HTMLDivElement | null>(null);
117
+
118
+ useEffect(() => {
119
+ const element = ref.current;
120
+ invariant(element && dropTarget);
121
+
122
+ return draggable({
123
+ element,
124
+ });
125
+ }, []);
126
+
127
+ return (
128
+ <ButtonMenuItem ref={ref} hasDragIndicator>
129
+ {item.content}
130
+ </ButtonMenuItem>
131
+ );
132
+ }
133
+ ```
134
+
135
+ ## Start of a drag
136
+
137
+ **<Lozenge appearance="success" isBold>Goal</Lozenge> make it clear what is dragging**
138
+
139
+ When a drag is starting, there are two things you need to do:
140
+
141
+ 1. Setup the drag preview
142
+
143
+ We have a `<DragPreview />` component that embodies the visual language we want for menu item drag
144
+ previews:
145
+
146
+ - Only displays essential information - `elemBefore` and content (the `children`)
147
+ - Is limited in width
148
+ ([due to web platform design constraints](/components/pragmatic-drag-and-drop/web-platform-design-constraints))
149
+
150
+ ```tsx
151
+ import { DragPreview } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/drag-preview';
152
+ import ProjectIcon from '@atlaskit/icon/core/project';
153
+
154
+ function ProjectsDragPreview() {
155
+ return <DragPreview elemBefore={<ProjectIcon label="" />} content="Projects" />;
156
+ }
157
+ ```
158
+
159
+ If no `elemBefore` is provided, then the `elemBefore` will automatically collapse. There is no need
160
+ to pass in `COLLAPSE_ELEM_BEFORE`. We do this as there is no need to maintain vertical side
161
+ navigation vertical alignment in the drag preview.
162
+
163
+ ```tsx
164
+ import { DragPreview } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/drag-preview';
165
+
166
+ function ProjectsDragPreview() {
167
+ return <DragPreview content="Projects" />;
168
+ }
169
+ ```
170
+
171
+ <SectionMessage>
172
+
173
+ `useMenuItemDragAndDrop()` does a lot of the wiring talked about below. Please try to use the hook
174
+ first before reaching for the lower level pieces.
175
+
176
+ </SectionMessage>
177
+
178
+ Please ensure the drag preview is pushed away from the users pointer (with `pointerOutsideOfPreview`
179
+ from Pragmatic drag and drop) by our
180
+ [standard amount](/components/pragmatic-drag-and-drop/design-guidelines)
181
+ (`{x: token('space.200'), y: token('space.100')`).
182
+
183
+ See our
184
+ [drag preview guidelines](/components/pragmatic-drag-and-drop/core-package/adapters/element/drag-previews)
185
+ for more information about mounting native drag previews.
186
+
187
+ 2. Pass `isDragging={true}` to the menu item
188
+
189
+ This will lower the opacity on the item being dragged as our
190
+ [standard visual cue](/components/pragmatic-drag-and-drop/design-guidelines) that something is being
191
+ dragged.
192
+
193
+ ## While dragging
194
+
195
+ **<Lozenge appearance="success" isBold>Goal</Lozenge> make it clear what the result of the drag will
196
+ be**
197
+
198
+ There are four things you need to do in order to make it possible for a menu item to be dropped on:
199
+
200
+ 1. Make the menu item a _drop target_
201
+ 2. Add hitbox information to the menu item
202
+ 3. Display drop indicators as needed on menu item
203
+ 4. Display a group drop indicator around the current group of menu items
204
+
205
+ 1, 2 and 3 can more easily be achieved with `useMenuItemDragAndDrop()`; and 4 requires some light
206
+ wiring by consumers.
207
+
208
+ ### Making a menu item a drop target
209
+
210
+ #### Use `visualContentRef`
211
+
212
+ To make a menu item a drop target you call `dropTargetForElements` with the `visualContentRef`
213
+ provided by all menu items.
214
+
215
+ _Rationale:_
216
+
217
+ - It is the full width of the element. We want to enable users to be able to drag only vertically to
218
+ be able to drag into nested menu items
219
+ - It wraps all elements in the menu item and so will be triggered even when dragging over `actions`
220
+ and other elements on top of the main interactive element.
221
+
222
+ With `useMenuItemDragAndDrop()` _(recommended)_
223
+
224
+ ```tsx
225
+ function Item({ item }) {
226
+ const { draggableButtonRef, dropTargetRef } = useMenuItemDragAndDrop({});
227
+
228
+ return (
229
+ <ButtonMenuItem visualContentRef={dropTargetRef} ref={draggableButtonRef}>
230
+ {item.content}
231
+ </ButtonMenuItem>
232
+ );
233
+ }
234
+ ```
235
+
236
+ Custom implementation
237
+
238
+ ```tsx
239
+ function Item({ item }) {
240
+ const dropTargetRef = useRef<HTMLDivElement | null>(null);
241
+ const ref = useRef<HTMLDivElement | null>(null);
242
+
243
+ useEffect(() => {
244
+ const element = ref.current;
245
+ const dropTarget = dropTargetRef.current;
246
+ invariant(element && dropTarget);
247
+
248
+ return combine(
249
+ // make the menu item a drop target
250
+ dropTargetForElements({
251
+ element: dropTarget,
252
+ // make the drop target sticky
253
+ getIsSticky: () => true,
254
+ // prevent dropping on self
255
+ canDrop: ({ source }) => source.element !== element && source.data.type === 'menu-item',
256
+ }),
257
+ // make the menu item draggable
258
+ draggable({
259
+ element,
260
+ }),
261
+ );
262
+ }, []);
263
+
264
+ return (
265
+ <ButtonMenuItem ref={ref} visualContentRef={dropTargetRef}>
266
+ {item.content}
267
+ </ButtonMenuItem>
268
+ );
269
+ }
270
+ ```
271
+
272
+ #### Stickiness
273
+
274
+ <SectionMessage>
275
+
276
+ [Background information about stickiness](/components/pragmatic-drag-and-drop/core-package/drop-targets#getissticky)
277
+
278
+ </SectionMessage>
279
+
280
+ If you are setting up drop targets without `useMenuItemDragAndDrop()` it is important that you make
281
+ the menu item drop target sticky `getIsSticky: () => true`. The `<GroupDropIndicator>` should _not_
282
+ be sticky, and it will clear stickiness when you leave the group. Stickiness on the menu items helps
283
+ to have a nicer experience when dragging over a group that contains gaps in drop targets, for
284
+ example when there are titles in the sidebar.
285
+
286
+ #### Don't allow menu items to drop on themselves
287
+
288
+ If you are setting up drop targets without `useMenuItemDragAndDrop()`, you need to manually ensure
289
+ that a menu item cannot drop on itself with `canDrop()`
290
+
291
+ ```ts
292
+ dropTargetForElements({
293
+ element: dropTarget,
294
+ // Don't allow dropping on itself
295
+ canDrop: ({ source }) => source.element !== element && source.data.type === 'menu-item',
296
+ });
297
+ ```
298
+
299
+ ### Add hitbox information to a menu item
300
+
301
+ The hitbox is responsible for examining the user input when over a drop target and outputting the
302
+ appropriate operation for that input. For a menu item, you can specify which of the following
303
+ operations are permitted:
304
+
305
+ - `"reorder-before"`
306
+ - `"reorder-after"`
307
+ - `"combine"`
308
+
309
+ A result of a hitbox function call, will result in an `Instruction` which you can use to determine
310
+ what operation should be completed when the drag finishes, as well as for displaying the drop
311
+ indicator during a drag operation.
312
+
313
+ Each operation has three possible values:
314
+
315
+ - `"not-available"` (default)
316
+ - `"available"`
317
+ - `"blocked"` (similar to `"available"`, but will show warning colors. See below for more
318
+ information)
319
+
320
+ The hitbox for an drop target will automatically adjust to accommodate each additional available
321
+ operation.
322
+
323
+ ```ts
324
+ type Operation = 'reorder-before' | 'reorder-after' | 'combine';
325
+
326
+ type Instruction = {
327
+ // What the operation is
328
+ operation: Operation;
329
+
330
+ // whether or not the operation was "blocked"
331
+ blocked: boolean;
332
+ };
333
+ ```
334
+
335
+ With `useMenuItemDragAndDrop()` _(recommended)_
336
+
337
+ ```tsx
338
+ import { useMenuItemDragAndDrop } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop';
339
+
340
+ function OurButtonItem() {
341
+ const { state, draggableButtonRef, dragPreview, dropTargetRef, dropIndicator } =
342
+ useMenuItemDragAndDrop({
343
+ dropTarget: {
344
+ getOperations: () => ({
345
+ 'reorder-before': 'available',
346
+ combine: 'available',
347
+ 'reorder-after': 'available',
348
+ }),
349
+ },
350
+ });
351
+
352
+ return (
353
+ <>
354
+ <ButtonMenuItem
355
+ elemBefore={<BasketballIcon label="" />}
356
+ ref={draggableButtonRef}
357
+ isDragging={state.type === 'dragging'}
358
+ hasDragIndicator
359
+ dropIndicator={dropIndicator}
360
+ visualContentRef={dropTargetRef}
361
+ >
362
+ Button menu item
363
+ </ButtonMenuItem>
364
+ {dragPreview}
365
+ </>
366
+ );
367
+ }
368
+ ```
369
+
370
+ Manually adding operations
371
+
372
+ ```tsx
373
+ import { dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
374
+ import {
375
+ attachInstruction,
376
+ extractInstruction,
377
+ type Instruction,
378
+ } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/hitbox';
379
+
380
+ function Item({ item }) {
381
+ const dropTargetRef = useRef<HTMLDivElement | null>(null);
382
+ const ref = useRef<HTMLDivElement | null>(null);
383
+
384
+ useEffect(() => {
385
+ const element = ref.current;
386
+ const dropTarget = dropTargetRef.current;
387
+ invariant(element && dropTarget);
388
+
389
+ return combine(
390
+ // make the menu item a drop target
391
+ dropTargetForElements({
392
+ element: dropTarget,
393
+ getData: ({ input, element }) => {
394
+ // your base data you want to attach to the drop target
395
+ const data = {
396
+ type: 'menu-item',
397
+ itemId: 'A',
398
+ };
399
+ // this will 'attach' an `Instruction` to your data object
400
+ return attachInstruction(data, {
401
+ input,
402
+ element,
403
+ operations: {
404
+ 'reorder-before': 'available',
405
+ 'reorder-after': 'available',
406
+ combine: 'available',
407
+ },
408
+ });
409
+ },
410
+ onDrop: (args) => {
411
+ const instruction: Instruction | null = extractInstruction(args.self.data);
412
+ },
413
+ }),
414
+ // make the menu item draggable
415
+ draggable({
416
+ element,
417
+ }),
418
+ );
419
+ }, []);
420
+
421
+ return (
422
+ <ButtonMenuItem ref={ref} visualContentRef={dropTargetRef}>
423
+ {item.content}
424
+ </ButtonMenuItem>
425
+ );
426
+ }
427
+ ```
428
+
429
+ #### Preventing operations
430
+
431
+ If you don't want an operation to be available, you have a few options.
432
+
433
+ 1. Set `canDrop: () => false`
434
+ 2. Set an operation to `"not-available"`
435
+
436
+ With `useMenuItemDragAndDrop()` _(recommended)_
437
+
438
+ ```ts
439
+ useMenuItemDragAndDrop({
440
+ dropTarget: {
441
+ getOperations: () => ({
442
+ 'reorder-before': 'available',
443
+ 'reorder-after': 'not-available', // reordering after no longer available
444
+ }),
445
+ },
446
+ });
447
+ ```
448
+
449
+ Without `useMenuItemDragAndDrop()`
450
+
451
+ ```ts
452
+ return attachInstruction(data, {
453
+ input,
454
+ element,
455
+ operations: {
456
+ 'reorder-before': 'available',
457
+ 'reorder-after': 'not-available', // reordering after no longer available
458
+ },
459
+ });
460
+ ```
461
+
462
+ 3. Don't include an operation in `operations`
463
+
464
+ With `useMenuItemDragAndDrop()` _(recommended)_
465
+
466
+ ```ts
467
+ useMenuItemDragAndDrop({
468
+ dropTarget: {
469
+ getOperations: () => ({
470
+ 'reorder-before': 'available',
471
+ // 'reorder-after' and 'combine' are "not-available" by default
472
+ }),
473
+ },
474
+ });
475
+ ```
476
+
477
+ Without `useMenuItemDragAndDrop()`
478
+
479
+ ```ts
480
+ return attachInstruction(data, {
481
+ input,
482
+ element,
483
+ operations: {
484
+ 'reorder-before': 'available',
485
+ // 'reorder-after' and 'combine' are "not-available" by default
486
+ },
487
+ });
488
+ ```
489
+
490
+ #### Blocking operations
491
+
492
+ Sometimes you want to explicitly call out that an operation is not permitted _right now_. An example
493
+ of this is draft pages in Confluence which cannot be the target of a drag operation, but once page
494
+ is no longer a draft it could be the target of a drag operation. In these cases, it can be helpful
495
+ to make it explicit to the user that a particular drag operation can not permitted. You can use
496
+ `blocked` for this use case. When an operation is blocked, it will be used by our _drop indicator_
497
+ to show a drop indicator with a warning color.
498
+
499
+ ```ts
500
+ useMenuItemDragAndDrop({
501
+ dropTarget: {
502
+ getOperations: () => ({
503
+ combine: 'blocked',
504
+ }),
505
+ },
506
+ });
507
+ ```
508
+
509
+ ### Drop indicators
510
+
511
+ Drop indicators are used to make it clear what the result of a drag operation will be. There are two
512
+ types of drop indicators that are **required** for you to setup:
513
+
514
+ 1. Drop indicators that appear on menu items
515
+ 2. Drop indicators that appear around groups of menu items (`<GroupDropIndicator/>`)
516
+
517
+ #### Menu item drop indicator
518
+
519
+ A menu item `<DropIndicator>` component is responsible for the visual representation of an
520
+ `Instruction` from the `hitbox`. In order for the `<DropIndicator>` to be rendered correctly, it is
521
+ important that you provide the component to the `dropIndicator` prop on a menu item.
522
+
523
+ The `<DropIndicator />` is handled for you when leveraging `useMenuItemDragAndDrop()`
524
+
525
+ ```tsx
526
+ import { useMenuItemDragAndDrop } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/use-menu-item-drag-and-drop';
527
+
528
+ function OurButtonItem() {
529
+ const { state, draggableButtonRef, dragPreview, dropTargetRef, dropIndicator } =
530
+ useMenuItemDragAndDrop({
531
+ dropTarget: {
532
+ getOperations: () => ({
533
+ 'reorder-before': 'available',
534
+ 'reorder-after': 'available',
535
+ }),
536
+ },
537
+ });
538
+
539
+ return (
540
+ <>
541
+ <ButtonMenuItem
542
+ elemBefore={<BasketballIcon label="" />}
543
+ ref={draggableButtonRef}
544
+ isDragging={state.type === 'dragging'}
545
+ hasDragIndicator
546
+ // 👇 pass the drop indicator ReactNode into the dropIndicator prop
547
+ dropIndicator={dropIndicator}
548
+ visualContentRef={dropTargetRef}
549
+ >
550
+ Button menu item
551
+ </ButtonMenuItem>
552
+ {dragPreview}
553
+ </>
554
+ );
555
+ }
556
+ ```
557
+
558
+ Rough idea when not using `useMenuItemDragAndDrop()`
559
+
560
+ ```tsx
561
+ import { DropIndicator } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/drop-indicator';
562
+
563
+ function Item({ item }) {
564
+ const [state, setState] = useState<TItemState>({ type: 'idle' });
565
+ const dropIndicator = state.type === 'is-over' && state.instruction && (
566
+ <DropIndicator instruction={state.instruction} />
567
+ );
568
+
569
+ return (
570
+ <ButtonMenuItem
571
+ ref={ref}
572
+ elemBefore={item.elemBefore}
573
+ isDragging={state.type === 'dragging'}
574
+ // 👇 pass the drop indicator to the dropIndicator prop
575
+ dropIndicator={dropIndicator}
576
+ visualContentRef={dropTargetRef}
577
+ hasDragIndicator
578
+ >
579
+ {item.content}
580
+ </ButtonMenuItem>
581
+ );
582
+ }
583
+ ```
584
+
585
+ #### Group drop indicator
586
+
587
+ As a part of the design language for drag and drop in the sidebar, we also add a visual affordance
588
+ around the section that the user is dragging over. This is to help make it even clearer where
589
+ something will end up after a drop.
590
+
591
+ To achieve this, you need to wrap any groups of draggable menu items in our `<GroupDropIndicator>`.
592
+ A group is any logical list of menu items at the same level in the side navigation. A group could be
593
+ all items on a particular level, or a logical subset of items at a particular level (eg a "recent
594
+ projects" section).
595
+
596
+ - You need to setup the `<GroupDropIndicator>` as a drop target
597
+ - The drop target should _not_ have stickiness. This is important as it is the mechanism for
598
+ clearing stickiness on menu item drop targets.
599
+ - Set `isActive={true}` on the `<GroupDropIndicator>` when it is the innermost available
600
+ `<GroupDropIndicator>`
601
+
602
+ <Example Component={AllMenuItems} appearance="showcase-only" />
603
+
604
+ ```tsx
605
+ import { GroupDropIndicator } from '@atlaskit/navigation-system/side-nav-items/drag-and-drop/group-drop-indicator';
606
+
607
+ function isInnerMostGroup({ location, self }: ElementDropTargetEventBasePayload): boolean {
608
+ const [innerMost] = location.current.dropTargets.filter(
609
+ (dropTarget) => dropTarget.data.type === 'menu-item-group',
610
+ );
611
+ return innerMost?.element === self.element;
612
+ }
613
+
614
+ export function MyMenuItemGroup() {
615
+ const [isInnerMostOver, setIsInnerMostOver] = useState<boolean>(false);
616
+ const ref = useRef<HTMLDivElement | null>(null);
617
+
618
+ useEffect(() => {
619
+ const element = ref.current;
620
+ invariant(element);
621
+ return dropTargetForElements({
622
+ element,
623
+ canDrop: ({ source }) => source.data.type === 'menu-item',
624
+ getData: () => ({ type: 'menu-item-group' }),
625
+ onDragStart: (args) => setIsInnerMostOver(isInnerMostGroup(args)),
626
+ onDropTargetChange: (args) => setIsInnerMostOver(isInnerMostGroup(args)),
627
+ onDrop: () => setIsInnerMostOver(false),
628
+ });
629
+ }, []);
630
+
631
+ return (
632
+ <GroupDropIndicator isActive={isInnerMostOver} ref={ref}>
633
+ <OurLinkMenuItem />
634
+ <OurButtonItem />
635
+ <OurFlyoutItem />
636
+ <OurExpandableItem />
637
+ </GroupDropIndicator>
638
+ );
639
+ }
640
+ ```
641
+
642
+ ### Automatic scrolling
643
+
644
+ During a drag operation, it is important that a user be able to effortlessly scroll the sidebar in
645
+ order to easily place a dragging item in any position.
646
+ [Please wire up `autoScrollForElements`](/components/pragmatic-drag-and-drop/optional-packages/auto-scroll/about)
647
+ on the `ref` that the `<SideNavContent>` returns to ensure the scrollable portion of the sidebar
648
+ automatically scrolls during a drag operation.
649
+
650
+ ```tsx
651
+ import { autoScrollForElements } from '@atlaskit/pragmatic-drag-and-drop-auto-scroll/element';
652
+
653
+ function Sidebar() {
654
+ const scrollableRef = useRef<HTMLDivElement | null>(null);
655
+
656
+ // setup auto scrolling for sidenav scroll container
657
+ useEffect(() => {
658
+ const scrollable = scrollableRef.current;
659
+ invariant(scrollable);
660
+ return autoScrollForElements({
661
+ element: scrollable,
662
+ canScroll: ({ source }) => source.data.type === 'menu-item',
663
+ });
664
+ }, []);
665
+
666
+ return <SideNavContent ref={scrollableRef}>{/* ... */}</SideNavContent>;
667
+ }
668
+ ```
669
+
670
+ ## On drop
671
+
672
+ **<Lozenge appearance="success" isBold>Goal</Lozenge> immediately update the interface**
673
+
674
+ 1. Figure out what `Operation` to do
675
+
676
+ Using `extractInstruction` you can extract the `Instruction` to be performed.
677
+
678
+ ```ts
679
+ type Operation = 'reorder-before' | 'reorder-after' | 'combine';
680
+
681
+ type Instruction = {
682
+ // What the operation is
683
+ operation: Operation;
684
+
685
+ // whether or not the operation was "blocked"
686
+ blocked: boolean;
687
+ };
688
+ ```
689
+
690
+ ```tsx
691
+ useEffect(() => {
692
+ return monitorForElements({
693
+ canMonitor: ({ source }) => source.data.type === 'menu-item',
694
+ onDrop({ source, location }) {
695
+ const dragging = source.data;
696
+ const [innerMost] = location.current.dropTargets;
697
+
698
+ if (!innerMost) {
699
+ return;
700
+ }
701
+ const dropTargetData = innerMost.data;
702
+
703
+ const instruction: Instruction | null = extractInstruction(dropTargetData);
704
+ if (!instruction) {
705
+ return;
706
+ }
707
+
708
+ // Do something based on the instruction
709
+ });
710
+ }, []);
711
+
712
+ ```
713
+
714
+ 2. Optimistically update the interface
715
+
716
+ When a drag operation is finished, you need to optimistically update the interface (don't wait for
717
+ the update to persist on the server). Don't lock the interface while the update is persisting, allow
718
+ them to continue to engage with the interface (including performing more drag and drop operations).
719
+
720
+ If an update fails, please let the user know in the interface through a flag; and synchronize the
721
+ interface with the server state. The interface can become locked during this synchronization if
722
+ needed.
723
+
724
+ 3. Flash the moved menu item
725
+
726
+ Leverage
727
+ [`triggerPostMoveFlash`](/components/pragmatic-drag-and-drop/optional-packages/flourish/trigger-post-move-flash/examples)
728
+ to trigger a flash on the interactive element (it's `ref`) of the moved menu item. This gives
729
+ helpful clarity to users about what has changed.
730
+
731
+ See our complete example above to see how you can achieve this.
732
+
733
+ Some possible options:
734
+
735
+ - Keep a registry of `HTMLElement`s for all menu items, so you can look up the menu item element
736
+ after it has been moved
737
+ - Lookup elements with data attributes after the drop. Not ideal, but can get the job done.
738
+
739
+ ## `useMenuItemDragAndDrop`
740
+
741
+ We have created a `react` hook `useMenuItemDragAndDrop()` which takes care of a lot of plumbing when
742
+ setting up drag and drop for menu items in the sidebar. We strongly recommend that you start with
743
+ this hook, and if it doesn't work for you, then you can build up everything using the pieces we
744
+ expose.
745
+
746
+ ```tsx
747
+ import { getProjectData, isProjectData } from './helpers';
748
+
749
+ function Project({ project }: { project: TProject }) {
750
+ const { state, draggableAnchorRef, dragPreview, dropTargetRef, dropIndicator } =
751
+ useMenuItemDragAndDrop({
752
+ draggable: {
753
+ getInitialData: () => getProjectData(project),
754
+ getDragPreviewPieces: () => ({
755
+ elemBefore: <ProjectIcon label="" color="currentColor" />,
756
+ content: project.name,
757
+ }),
758
+ },
759
+ dropTarget: {
760
+ getData: () => getProjectData(project),
761
+ getOperations: () => ({
762
+ 'reorder-after': 'available',
763
+ 'reorder-before': 'available',
764
+ }),
765
+ canDrop: ({ source }) => isProjectData(source.data),
766
+ },
767
+ });
768
+
769
+ return (
770
+ <>
771
+ <LinkMenuItem
772
+ href={project.href}
773
+ elemBefore={project.icon}
774
+ ref={draggableAnchorRef}
775
+ isDragging={state.type === 'dragging'}
776
+ hasDragIndicator
777
+ dropIndicator={dropIndicator}
778
+ visualContentRef={dropTargetRef}
779
+ >
780
+ {project.name}
781
+ </LinkMenuItem>
782
+ {dragPreview}
783
+ </>
784
+ );
785
+ }
786
+ ```
787
+
788
+ What `useMenuItemDragAndDrop` does for you:
789
+
790
+ - Sets up a `draggable()` (with conditional dragging)
791
+ - Sets up a `dropTargetForElements()` (with conditional dropping)
792
+ - Prevents dropping on self
793
+ - Sets up the `<DragPreview>`, pushes it away from the users pointer by the desired amount, and
794
+ mounts it to a `react` portal
795
+ - Attaches `Operation`s to the drop target
796
+ - Returns the correct drop indicator for the current `Operation`.
797
+ - Manages it's own state in a performant way and let's you respond to state changes
798
+ - Automatically makes the drop target sticky (stickiness will be cleared by `GroupDropIndicator`)
799
+
800
+ Arguments:
801
+
802
+ - `draggable`: object containing arguments relevant for setting up the `draggable()`. Don't include
803
+ the `draggable` property if you don't ever want the menu item it be a draggable.
804
+ - `draggable.canDrag`: Whether or not the element should be `draggable` (useful for conditional
805
+ dragging)
806
+ - `draggable.getInitialData()`: data to attach to the `draggable` (see
807
+ [draggable | getInitialData](TODO))
808
+ - `draggable.getDragPreviewPieces()`: provide the `ReactNode`s to be used when rendering the
809
+ `<DragPreview />`
810
+
811
+ - `dropTarget`: object containg arguments relevant for setting up a menu item as a drop target.
812
+ Don't include the `dropTarget` property if you don't ever want the menu item it be a draggable.
813
+ - `dropTarget.canDrop()`: whether or not the menu item can be dropped on (see
814
+ [dropTargetForElements | canDrop](TODO))
815
+ - `dropTarget.getData()`: data to attach to the drop target (see [dropTarget | getData](TODO))
816
+ - `dropTarget.getOperations()`: which drop `Operation`s
817
+ (`"reorder-before" | "reorder-after" | "combine`") are permitted on the menu item
818
+
819
+ Return value:
820
+
821
+ - `state`: an object containing what the drag and drop state of the menu item is
822
+ (`"idle" | "preview" | "dragging" | "is-over"`)
823
+ - `draggableAnchorRef`: used to mark an anchor element as the draggable element. Use this if the
824
+ menu item is an anchor.
825
+ - `draggableButtonRef`: used to mark an button element as the draggable element. Use this if the
826
+ menu item is an button.
827
+ - `dropTargetRef`: must be used to mark the `HTMLDivElement` as the `dropTargetForElements`
828
+ - `dragPreview`: a `ReactNode` to be included in your `react` tree which will be used to render the
829
+ `<DragPreview />`
830
+ - `dropIndicator`: a `ReactNode` containing the drop indicator if it's needed
831
+
832
+ ## Accessible actions
833
+
834
+ **<Lozenge appearance="success" isBold>Goal</Lozenge> provide a delightful way for folks leveraging
835
+ assistive technologies to achieve the same outcomes as a drag and drop operation**
836
+
837
+ All menu items that have drag and drop enabled must also include an alternative mechanism to achieve
838
+ the same outcomes as drag and drop operations.
839
+
840
+ <Example Component={StandaloneJiraSidebar} appearance="showcase-only" />
841
+
842
+ What you need to do (for all menu items _except_ `FlyoutMenuItemTrigger`)
843
+
844
+ - All menu items with drag and drop enabled must have a "more" button as `actionsOnHover`
845
+ - The more menu should be a trigger for a `DropdownMenu`
846
+ - The `DropdownMenu` menu should contain an entry called `"Reorder ${entityName}"` or `"Move"`. The
847
+ `DropdownMenu` can also contain other actions for the entity (eg "Archive").
848
+
849
+ For `FlyoutMenuItemTrigger`:
850
+
851
+ - `FlyoutMenuItemTrigger` does not support `actionsOnHover`, so you need to put a
852
+ `"Reorder ${entityName}"` menu item in the `FlyoutMenuItemContent` of the `FlyoutMenuItem`.
853
+ - It is known that this is a minor inconsistency with other menu items; however, this was decided to
854
+ be the best available option based on how our menu items work today.
855
+
856
+ ### Move operations
857
+
858
+ There are two categories of movement actions:
859
+
860
+ 1. Only reordering is available
861
+
862
+ Show a further submenu with available operations. The possible operations are:
863
+
864
+ 1. "Move to top"
865
+ 2. "Move up"
866
+ 3. "Move down"
867
+ 4. "Move to bottom"
868
+
869
+ - When an item is in the last position: "Move down" and "Move to bottom" should be disabled
870
+ - When an item is in the first position: "Move to top" and "Move up" should be disabled
871
+ - When there is only one item in the group, the `"Reorder ${entityName}"` dropdown menu should be
872
+ disabled.
873
+
874
+ _See "project" menu items in the above example for what this looks like_
875
+
876
+ 2. More complex operations are available
877
+
878
+ When operations other than just reordering are possible (eg combining, moving to different levels in
879
+ the navigation and so on), then show a modal containing a form with a way for a user to input any
880
+ available action.
881
+
882
+ _See "filter" menu items in the above example for what this looks like_
883
+
884
+ ### Focus restoration
885
+
886
+ After an item has been moved with an action menu, and the control triggering the action had focus,
887
+ then the **menu item** `ref` should be given focus in it's new location. At this stage we have
888
+ decided not to give focus to the more menu dropdown button as that is not universally available on
889
+ the menu item (eg for flyout menu items, we are putting the move action in the flyout).
890
+
891
+ See
892
+ ["Let the user easily continue to trigger more outcomes"](/components/pragmatic-drag-and-drop/accessibility-guidelines#3-let-the-user-easily-continue-to-trigger-more-outcomes)
893
+ in our drag and drop accessibility guide.
894
+
895
+ When working with complex movement actions (eg move into child) this will require expanding all
896
+ parent expandable menu items when the drag finishes.
897
+
898
+ ## Special guidance
899
+
900
+ ### `ExpandableMenuItem`
901
+
902
+ Sometimes you want the `ExpandableMenuItemTrigger` to be your drop target, and sometimes you want
903
+ the `ExpandableMenuItemTrigger` and the `ExpandableMenuItemContent` to be a single drop target.
904
+
905
+ _In our provided example, when dragging a top level menu item, the whole `ExpandableMenuItem` is a
906
+ drop target, whereas when dragging a filter, the `ExpandableMenuItemTrigger` is the drop target._
907
+
908
+ When the `ExpandableMenuItemTrigger` is the drop target, you should attach the `dropTargetRef` and
909
+ provide the `dropIndicator` to the `ExpandableMenuItemTrigger`.
910
+
911
+ ```tsx
912
+ function Project({ project }: { project: TProject }) {
913
+ const { state, draggableAnchorRef, dragPreview, dropTargetRef, dropIndicator } =
914
+ useMenuItemDragAndDrop({
915
+ draggable: {
916
+ getInitialData: () => getProjectData(project),
917
+ getDragPreviewPieces: () => ({
918
+ elemBefore: project.icon,
919
+ content: project.name,
920
+ }),
921
+ },
922
+ dropTarget: {
923
+ getData: () => getProjectData(project),
924
+ getOperations: () => ({
925
+ 'reorder-after': 'available',
926
+ 'reorder-before': 'available',
927
+ }),
928
+ canDrop: ({ source }) => isProjectData(source.data),
929
+ },
930
+ });
931
+
932
+ return (
933
+ <>
934
+ <LinkMenuItem
935
+ href={project.href}
936
+ elemBefore={project.icon}
937
+ ref={draggableAnchorRef}
938
+ isDragging={state.type === 'dragging'}
939
+ hasDragIndicator
940
+ // 👇 drop target is the the trigger
941
+ visualContentRef={dropTargetRef}
942
+ dropIndicator={dropIndicator}
943
+ >
944
+ {project.name}
945
+ </LinkMenuItem>
946
+ {dragPreview}
947
+ </>
948
+ );
949
+ }
950
+ ```
951
+
952
+ When the whole `ExpandableMenuItem` is the drop target, you should attach the `dropTargetRef` and
953
+ provide the `dropIndicator` to the `ExpandableMenuItem`.
954
+
955
+ ```tsx
956
+ export function ProjectsMenuItem() {
957
+ const { state, draggableButtonRef, dragPreview, dropTargetRef, dropIndicator } =
958
+ useMenuItemDragAndDrop({
959
+ draggable: {
960
+ getInitialData: () => getTopLevelItemData('projects'),
961
+ getDragPreviewPieces: () => ({
962
+ elemBefore: <ProjectIcon label="" color="currentColor" />,
963
+ content: 'Projects',
964
+ }),
965
+ },
966
+ dropTarget: {
967
+ getData: () => getTopLevelItemData('projects'),
968
+ getOperations: () => ({
969
+ 'reorder-after': 'available',
970
+ 'reorder-before': 'available',
971
+ }),
972
+ canDrop: ({ source }) => isTopLevelItemData(source.data),
973
+ },
974
+ });
975
+
976
+ return (
977
+ <>
978
+ <ExpandableMenuItem
979
+ // 👇 drop target is the whole expandable item
980
+ ref={dropTargetRef}
981
+ // 👇 pass the drop indicator to the whole expandable item
982
+ dropIndicator={dropIndicator}
983
+ >
984
+ <ExpandableMenuItemTrigger
985
+ // 👇 trigger is still the draggable
986
+ ref={draggableButtonRef}
987
+ isDragging={state.type === 'dragging'}
988
+ hasDragIndicator
989
+ elemBefore={<ProjectIcon label="" color="currentColor" />}
990
+ >
991
+ Projects
992
+ </ExpandableMenuItemTrigger>
993
+ <ExpandableMenuItemContent>{/* ... */}</ExpandableMenuItemContent>
994
+ </ExpandableMenuItem>
995
+ {dragPreview}
996
+ </>
997
+ );
998
+ }
999
+ ```
1000
+
1001
+ ### `ExpandableMenuItemTrigger`
1002
+
1003
+ #### Drag start
1004
+
1005
+ When dragging any menu item, all expandable menu items that are valid drop targets, or contain valid
1006
+ drop targets, should have their `<ExpandableMenuItemTrigger>` should no longer show any custom
1007
+ `elemBefore` and use the default icons. Expandable menu items can be expanded during a drag, and
1008
+ showing their chevrons is a helpful way for users to see at a glance which parts of the side
1009
+ navigation can potentially be nested into
1010
+
1011
+ ```tsx
1012
+ <ExpandableMenuItemTrigger elemBefore={isFilterDragging ? null : item.elemBefore}>
1013
+ {filter.name}
1014
+ </ExpandableMenuItemTrigger>
1015
+ ```
1016
+
1017
+ When dragging a `<ExpandableMenuItemTrigger>` you should collapse the expandable menu when the drag
1018
+ is starting. This prevents the strange case of a parent dragging into itself.
1019
+
1020
+ #### While dragging
1021
+
1022
+ If a user drags over of `<ExpandableMenuItemTrigger>` for `500ms` with the `"combine"` operation,
1023
+ and the menu item is not expanded, then it should be expanded. This allows users to drag into
1024
+ collapsed menu items.
1025
+
1026
+ #### On drop
1027
+
1028
+ Once the drag is completed, you should restore the collapsed state of the
1029
+ `ExpandableMenuItemTrigger`
1030
+
1031
+ - If it was collapsed before the drag started: keep it collapsed
1032
+ - If it was expanded before the drag started: expand it again after the drag as completed
1033
+
1034
+ The dragged `ExpandableMenuItemTrigger` must be visible after the drag has finished. This will
1035
+ involve expanding any parent `ExpandableMenuItemTrigger` needed.
1036
+
1037
+ An example: Dragging Filter A and the drop operation is a `"combine"` on a collapsed Filter B
1038
+ `ExpandableMenuItemTrigger`. Outcome: Filter B should be expanded to make Filter A visible after the
1039
+ drop.
1040
+
1041
+ ### `FlyoutMenuItemTrigger`
1042
+
1043
+ #### Drag start
1044
+
1045
+ All `<FlyoutMenuItemTrigger>`s should be closed when dragging _any_ menu item.
1046
+
1047
+ #### While dragging
1048
+
1049
+ <SectionMessage title="Not supported (yet)" appearance="warning">
1050
+
1051
+ It is currently _not supported_ to drop an item onto a `FlyoutMenuItemTrigger` or into
1052
+ `FlyoutMenuItemContent`. There are some experience questions to be worked through to support this.
1053
+ We thought we would wait and see if anybody needed this before spending too much time on it. If you
1054
+ have need of this use case, please reach out and we can prioritize working through the design
1055
+ challenges.
1056
+
1057
+ </SectionMessage>
1058
+
1059
+ #### Accessible actions for flyouts
1060
+
1061
+ See our [accessible actions](#accessible-actions) section for `FlyoutMenuItemTrigger` specific
1062
+ guidance.
1063
+
1064
+ ### anchors
1065
+
1066
+ By default, menu items that are **anchor elements (`<a>`)** are _not_ draggable (unlike standard
1067
+ anchor elements that are **draggable** by default).
1068
+
1069
+ Menu items that are anchors:
1070
+
1071
+ - `LinkMenuItem`
1072
+ - `ExpandableMenuItemTrigger` with a `href`
1073
+ - `FlyoutMenuItemTrigger` with a `href`
1074
+
1075
+ If you want one of these menu items to be draggable, then you need to wire them up for drag and drop
1076
+ according to this guide. For anchor elements, the URL information is _automatically_ attached to the
1077
+ native drag data, so the anchor can be dragged into the browser menu bar, other external application
1078
+ and so on. You are welcome to attach additional information using
1079
+ [`getInitialData()` and `getInitialDataForExternal()` from Pragmatic drag and drop](/components/pragmatic-drag-and-drop/core-package/adapters/element/about#draggable).