@atlaskit/side-nav-items 1.0.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 (332) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE.md +11 -0
  3. package/README.md +5 -0
  4. package/button-menu-item/package.json +17 -0
  5. package/container-avatar/package.json +17 -0
  6. package/dist/cjs/entry-points/button-menu-item.js +19 -0
  7. package/dist/cjs/entry-points/container-avatar.js +12 -0
  8. package/dist/cjs/entry-points/drag-and-drop/drag-handle.js +12 -0
  9. package/dist/cjs/entry-points/drag-and-drop/drag-preview.js +12 -0
  10. package/dist/cjs/entry-points/drag-and-drop/drop-indicator.js +12 -0
  11. package/dist/cjs/entry-points/drag-and-drop/group-drop-indicator.js +12 -0
  12. package/dist/cjs/entry-points/drag-and-drop/hitbox.js +18 -0
  13. package/dist/cjs/entry-points/drag-and-drop/use-menu-item-drag-and-drop.js +12 -0
  14. package/dist/cjs/entry-points/expandable-menu-item.js +33 -0
  15. package/dist/cjs/entry-points/flyout-menu-item.js +54 -0
  16. package/dist/cjs/entry-points/link-menu-item.js +19 -0
  17. package/dist/cjs/entry-points/menu-list-item.js +12 -0
  18. package/dist/cjs/entry-points/menu-list.js +12 -0
  19. package/dist/cjs/entry-points/menu-section.js +26 -0
  20. package/dist/cjs/entry-points/top-level-spacer.js +12 -0
  21. package/dist/cjs/index.js +5 -0
  22. package/dist/cjs/ui/menu-item/button-menu-item.js +66 -0
  23. package/dist/cjs/ui/menu-item/constants.js +21 -0
  24. package/dist/cjs/ui/menu-item/container-avatar.compiled.css +4 -0
  25. package/dist/cjs/ui/menu-item/container-avatar.js +34 -0
  26. package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.compiled.css +9 -0
  27. package/dist/cjs/ui/menu-item/drag-and-drop/drag-preview.js +65 -0
  28. package/dist/cjs/ui/menu-item/drag-and-drop/drop-indicator.js +12 -0
  29. package/dist/cjs/ui/menu-item/drag-and-drop/group-drop-indicator.js +12 -0
  30. package/dist/cjs/ui/menu-item/drag-and-drop/hitbox.js +18 -0
  31. package/dist/cjs/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +202 -0
  32. package/dist/cjs/ui/menu-item/drag-handle/drag-handle.compiled.css +9 -0
  33. package/dist/cjs/ui/menu-item/drag-handle/drag-handle.js +28 -0
  34. package/dist/cjs/ui/menu-item/drag-handle/lazy-drag-handle.js +20 -0
  35. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
  36. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +50 -0
  37. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +64 -0
  38. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +14 -0
  39. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +14 -0
  40. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +150 -0
  41. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
  42. package/dist/cjs/ui/menu-item/expandable-menu-item/expandable-menu-item.js +69 -0
  43. package/dist/cjs/ui/menu-item/flyout-menu-item/close-button.js +33 -0
  44. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-body.compiled.css +11 -0
  45. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-body.js +38 -0
  46. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-footer.compiled.css +5 -0
  47. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-footer.js +29 -0
  48. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-header.compiled.css +11 -0
  49. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-header.js +54 -0
  50. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +8 -0
  51. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +223 -0
  52. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +58 -0
  53. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
  54. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +68 -0
  55. package/dist/cjs/ui/menu-item/flyout-menu-item/flyout-menu-item.js +76 -0
  56. package/dist/cjs/ui/menu-item/link-menu-item.compiled.css +1 -0
  57. package/dist/cjs/ui/menu-item/link-menu-item.js +81 -0
  58. package/dist/cjs/ui/menu-item/list-item.js +30 -0
  59. package/dist/cjs/ui/menu-item/list.js +40 -0
  60. package/dist/cjs/ui/menu-item/menu-item-signals.js +11 -0
  61. package/dist/cjs/ui/menu-item/menu-item.compiled.css +101 -0
  62. package/dist/cjs/ui/menu-item/menu-item.js +394 -0
  63. package/dist/cjs/ui/menu-item/menu-list-item.js +18 -0
  64. package/dist/cjs/ui/menu-item/menu-list.js +14 -0
  65. package/dist/cjs/ui/menu-item/top-level-spacer.compiled.css +1 -0
  66. package/dist/cjs/ui/menu-item/top-level-spacer.js +46 -0
  67. package/dist/cjs/ui/menu-item/types.js +5 -0
  68. package/dist/cjs/ui/menu-item/use-scroll-menu-item-into-view.js +70 -0
  69. package/dist/cjs/ui/menu-section/divider.compiled.css +4 -0
  70. package/dist/cjs/ui/menu-section/divider.js +32 -0
  71. package/dist/cjs/ui/menu-section/menu-section-context.js +19 -0
  72. package/dist/cjs/ui/menu-section/menu-section-heading.compiled.css +4 -0
  73. package/dist/cjs/ui/menu-section/menu-section-heading.js +30 -0
  74. package/dist/cjs/ui/menu-section/menu-section.js +49 -0
  75. package/dist/es2019/entry-points/button-menu-item.js +2 -0
  76. package/dist/es2019/entry-points/container-avatar.js +1 -0
  77. package/dist/es2019/entry-points/drag-and-drop/drag-handle.js +1 -0
  78. package/dist/es2019/entry-points/drag-and-drop/drag-preview.js +1 -0
  79. package/dist/es2019/entry-points/drag-and-drop/drop-indicator.js +1 -0
  80. package/dist/es2019/entry-points/drag-and-drop/group-drop-indicator.js +1 -0
  81. package/dist/es2019/entry-points/drag-and-drop/hitbox.js +1 -0
  82. package/dist/es2019/entry-points/drag-and-drop/use-menu-item-drag-and-drop.js +1 -0
  83. package/dist/es2019/entry-points/expandable-menu-item.js +4 -0
  84. package/dist/es2019/entry-points/flyout-menu-item.js +7 -0
  85. package/dist/es2019/entry-points/link-menu-item.js +2 -0
  86. package/dist/es2019/entry-points/menu-list-item.js +1 -0
  87. package/dist/es2019/entry-points/menu-list.js +1 -0
  88. package/dist/es2019/entry-points/menu-section.js +3 -0
  89. package/dist/es2019/entry-points/top-level-spacer.js +1 -0
  90. package/dist/es2019/index.js +3 -0
  91. package/dist/es2019/ui/menu-item/button-menu-item.js +59 -0
  92. package/dist/es2019/ui/menu-item/constants.js +15 -0
  93. package/dist/es2019/ui/menu-item/container-avatar.compiled.css +4 -0
  94. package/dist/es2019/ui/menu-item/container-avatar.js +25 -0
  95. package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.compiled.css +9 -0
  96. package/dist/es2019/ui/menu-item/drag-and-drop/drag-preview.js +60 -0
  97. package/dist/es2019/ui/menu-item/drag-and-drop/drop-indicator.js +7 -0
  98. package/dist/es2019/ui/menu-item/drag-and-drop/group-drop-indicator.js +7 -0
  99. package/dist/es2019/ui/menu-item/drag-and-drop/hitbox.js +7 -0
  100. package/dist/es2019/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +192 -0
  101. package/dist/es2019/ui/menu-item/drag-handle/drag-handle.compiled.css +9 -0
  102. package/dist/es2019/ui/menu-item/drag-handle/drag-handle.js +19 -0
  103. package/dist/es2019/ui/menu-item/drag-handle/lazy-drag-handle.js +9 -0
  104. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
  105. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +43 -0
  106. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +53 -0
  107. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +9 -0
  108. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +14 -0
  109. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +141 -0
  110. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
  111. package/dist/es2019/ui/menu-item/expandable-menu-item/expandable-menu-item.js +54 -0
  112. package/dist/es2019/ui/menu-item/flyout-menu-item/close-button.js +25 -0
  113. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-body.compiled.css +11 -0
  114. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-body.js +33 -0
  115. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-footer.compiled.css +5 -0
  116. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-footer.js +24 -0
  117. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-header.compiled.css +11 -0
  118. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-header.js +47 -0
  119. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +8 -0
  120. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +211 -0
  121. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +45 -0
  122. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
  123. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +57 -0
  124. package/dist/es2019/ui/menu-item/flyout-menu-item/flyout-menu-item.js +61 -0
  125. package/dist/es2019/ui/menu-item/link-menu-item.compiled.css +1 -0
  126. package/dist/es2019/ui/menu-item/link-menu-item.js +73 -0
  127. package/dist/es2019/ui/menu-item/list-item.js +23 -0
  128. package/dist/es2019/ui/menu-item/list.js +33 -0
  129. package/dist/es2019/ui/menu-item/menu-item-signals.js +5 -0
  130. package/dist/es2019/ui/menu-item/menu-item.compiled.css +101 -0
  131. package/dist/es2019/ui/menu-item/menu-item.js +383 -0
  132. package/dist/es2019/ui/menu-item/menu-list-item.js +12 -0
  133. package/dist/es2019/ui/menu-item/menu-list.js +9 -0
  134. package/dist/es2019/ui/menu-item/top-level-spacer.compiled.css +1 -0
  135. package/dist/es2019/ui/menu-item/top-level-spacer.js +38 -0
  136. package/dist/es2019/ui/menu-item/types.js +1 -0
  137. package/dist/es2019/ui/menu-item/use-scroll-menu-item-into-view.js +64 -0
  138. package/dist/es2019/ui/menu-section/divider.compiled.css +4 -0
  139. package/dist/es2019/ui/menu-section/divider.js +22 -0
  140. package/dist/es2019/ui/menu-section/menu-section-context.js +13 -0
  141. package/dist/es2019/ui/menu-section/menu-section-heading.compiled.css +4 -0
  142. package/dist/es2019/ui/menu-section/menu-section-heading.js +23 -0
  143. package/dist/es2019/ui/menu-section/menu-section.js +42 -0
  144. package/dist/esm/entry-points/button-menu-item.js +2 -0
  145. package/dist/esm/entry-points/container-avatar.js +1 -0
  146. package/dist/esm/entry-points/drag-and-drop/drag-handle.js +1 -0
  147. package/dist/esm/entry-points/drag-and-drop/drag-preview.js +1 -0
  148. package/dist/esm/entry-points/drag-and-drop/drop-indicator.js +1 -0
  149. package/dist/esm/entry-points/drag-and-drop/group-drop-indicator.js +1 -0
  150. package/dist/esm/entry-points/drag-and-drop/hitbox.js +1 -0
  151. package/dist/esm/entry-points/drag-and-drop/use-menu-item-drag-and-drop.js +1 -0
  152. package/dist/esm/entry-points/expandable-menu-item.js +4 -0
  153. package/dist/esm/entry-points/flyout-menu-item.js +7 -0
  154. package/dist/esm/entry-points/link-menu-item.js +2 -0
  155. package/dist/esm/entry-points/menu-list-item.js +1 -0
  156. package/dist/esm/entry-points/menu-list.js +1 -0
  157. package/dist/esm/entry-points/menu-section.js +3 -0
  158. package/dist/esm/entry-points/top-level-spacer.js +1 -0
  159. package/dist/esm/index.js +3 -0
  160. package/dist/esm/ui/menu-item/button-menu-item.js +58 -0
  161. package/dist/esm/ui/menu-item/constants.js +15 -0
  162. package/dist/esm/ui/menu-item/container-avatar.compiled.css +4 -0
  163. package/dist/esm/ui/menu-item/container-avatar.js +26 -0
  164. package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.compiled.css +9 -0
  165. package/dist/esm/ui/menu-item/drag-and-drop/drag-preview.js +58 -0
  166. package/dist/esm/ui/menu-item/drag-and-drop/drop-indicator.js +7 -0
  167. package/dist/esm/ui/menu-item/drag-and-drop/group-drop-indicator.js +7 -0
  168. package/dist/esm/ui/menu-item/drag-and-drop/hitbox.js +7 -0
  169. package/dist/esm/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.js +193 -0
  170. package/dist/esm/ui/menu-item/drag-handle/drag-handle.compiled.css +9 -0
  171. package/dist/esm/ui/menu-item/drag-handle/drag-handle.js +19 -0
  172. package/dist/esm/ui/menu-item/drag-handle/lazy-drag-handle.js +11 -0
  173. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.compiled.css +2 -0
  174. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-content.js +42 -0
  175. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-context.js +57 -0
  176. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.js +9 -0
  177. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.compiled.css +14 -0
  178. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.js +141 -0
  179. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.compiled.css +1 -0
  180. package/dist/esm/ui/menu-item/expandable-menu-item/expandable-menu-item.js +60 -0
  181. package/dist/esm/ui/menu-item/flyout-menu-item/close-button.js +26 -0
  182. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-body.compiled.css +11 -0
  183. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-body.js +31 -0
  184. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-footer.compiled.css +5 -0
  185. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-footer.js +22 -0
  186. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-header.compiled.css +11 -0
  187. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-header.js +45 -0
  188. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.compiled.css +8 -0
  189. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-content.js +214 -0
  190. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-context.js +51 -0
  191. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.compiled.css +2 -0
  192. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.js +59 -0
  193. package/dist/esm/ui/menu-item/flyout-menu-item/flyout-menu-item.js +67 -0
  194. package/dist/esm/ui/menu-item/link-menu-item.compiled.css +1 -0
  195. package/dist/esm/ui/menu-item/link-menu-item.js +72 -0
  196. package/dist/esm/ui/menu-item/list-item.js +22 -0
  197. package/dist/esm/ui/menu-item/list.js +32 -0
  198. package/dist/esm/ui/menu-item/menu-item-signals.js +5 -0
  199. package/dist/esm/ui/menu-item/menu-item.compiled.css +101 -0
  200. package/dist/esm/ui/menu-item/menu-item.js +385 -0
  201. package/dist/esm/ui/menu-item/menu-list-item.js +12 -0
  202. package/dist/esm/ui/menu-item/menu-list.js +9 -0
  203. package/dist/esm/ui/menu-item/top-level-spacer.compiled.css +1 -0
  204. package/dist/esm/ui/menu-item/top-level-spacer.js +38 -0
  205. package/dist/esm/ui/menu-item/types.js +1 -0
  206. package/dist/esm/ui/menu-item/use-scroll-menu-item-into-view.js +63 -0
  207. package/dist/esm/ui/menu-section/divider.compiled.css +4 -0
  208. package/dist/esm/ui/menu-section/divider.js +24 -0
  209. package/dist/esm/ui/menu-section/menu-section-context.js +13 -0
  210. package/dist/esm/ui/menu-section/menu-section-heading.compiled.css +4 -0
  211. package/dist/esm/ui/menu-section/menu-section-heading.js +22 -0
  212. package/dist/esm/ui/menu-section/menu-section.js +42 -0
  213. package/dist/types/entry-points/button-menu-item.d.ts +3 -0
  214. package/dist/types/entry-points/container-avatar.d.ts +1 -0
  215. package/dist/types/entry-points/drag-and-drop/drag-handle.d.ts +1 -0
  216. package/dist/types/entry-points/drag-and-drop/drag-preview.d.ts +1 -0
  217. package/dist/types/entry-points/drag-and-drop/drop-indicator.d.ts +1 -0
  218. package/dist/types/entry-points/drag-and-drop/group-drop-indicator.d.ts +1 -0
  219. package/dist/types/entry-points/drag-and-drop/hitbox.d.ts +1 -0
  220. package/dist/types/entry-points/drag-and-drop/use-menu-item-drag-and-drop.d.ts +1 -0
  221. package/dist/types/entry-points/expandable-menu-item.d.ts +4 -0
  222. package/dist/types/entry-points/flyout-menu-item.d.ts +7 -0
  223. package/dist/types/entry-points/link-menu-item.d.ts +3 -0
  224. package/dist/types/entry-points/menu-list-item.d.ts +1 -0
  225. package/dist/types/entry-points/menu-list.d.ts +1 -0
  226. package/dist/types/entry-points/menu-section.d.ts +3 -0
  227. package/dist/types/entry-points/top-level-spacer.d.ts +1 -0
  228. package/dist/types/index.d.ts +1 -0
  229. package/dist/types/ui/menu-item/button-menu-item.d.ts +42 -0
  230. package/dist/types/ui/menu-item/constants.d.ts +15 -0
  231. package/dist/types/ui/menu-item/container-avatar.d.ts +18 -0
  232. package/dist/types/ui/menu-item/drag-and-drop/drag-preview.d.ts +24 -0
  233. package/dist/types/ui/menu-item/drag-and-drop/drop-indicator.d.ts +6 -0
  234. package/dist/types/ui/menu-item/drag-and-drop/group-drop-indicator.d.ts +6 -0
  235. package/dist/types/ui/menu-item/drag-and-drop/hitbox.d.ts +6 -0
  236. package/dist/types/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.d.ts +62 -0
  237. package/dist/types/ui/menu-item/drag-handle/drag-handle.d.ts +6 -0
  238. package/dist/types/ui/menu-item/drag-handle/lazy-drag-handle.d.ts +4 -0
  239. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-content.d.ts +17 -0
  240. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +36 -0
  241. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +4 -0
  242. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +65 -0
  243. package/dist/types/ui/menu-item/expandable-menu-item/expandable-menu-item.d.ts +65 -0
  244. package/dist/types/ui/menu-item/flyout-menu-item/close-button.d.ts +34 -0
  245. package/dist/types/ui/menu-item/flyout-menu-item/flyout-body.d.ts +38 -0
  246. package/dist/types/ui/menu-item/flyout-menu-item/flyout-footer.d.ts +25 -0
  247. package/dist/types/ui/menu-item/flyout-menu-item/flyout-header.d.ts +35 -0
  248. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-content.d.ts +39 -0
  249. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +38 -0
  250. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +46 -0
  251. package/dist/types/ui/menu-item/flyout-menu-item/flyout-menu-item.d.ts +52 -0
  252. package/dist/types/ui/menu-item/link-menu-item.d.ts +22 -0
  253. package/dist/types/ui/menu-item/list-item.d.ts +27 -0
  254. package/dist/types/ui/menu-item/list.d.ts +28 -0
  255. package/dist/types/ui/menu-item/menu-item-signals.d.ts +6 -0
  256. package/dist/types/ui/menu-item/menu-item.d.ts +51 -0
  257. package/dist/types/ui/menu-item/menu-list-item.d.ts +11 -0
  258. package/dist/types/ui/menu-item/menu-list.d.ts +8 -0
  259. package/dist/types/ui/menu-item/top-level-spacer.d.ts +20 -0
  260. package/dist/types/ui/menu-item/types.d.ts +164 -0
  261. package/dist/types/ui/menu-item/use-scroll-menu-item-into-view.d.ts +12 -0
  262. package/dist/types/ui/menu-section/divider.d.ts +6 -0
  263. package/dist/types/ui/menu-section/menu-section-context.d.ts +6 -0
  264. package/dist/types/ui/menu-section/menu-section-heading.d.ts +16 -0
  265. package/dist/types/ui/menu-section/menu-section.d.ts +41 -0
  266. package/dist/types-ts4.5/entry-points/button-menu-item.d.ts +3 -0
  267. package/dist/types-ts4.5/entry-points/container-avatar.d.ts +1 -0
  268. package/dist/types-ts4.5/entry-points/drag-and-drop/drag-handle.d.ts +1 -0
  269. package/dist/types-ts4.5/entry-points/drag-and-drop/drag-preview.d.ts +1 -0
  270. package/dist/types-ts4.5/entry-points/drag-and-drop/drop-indicator.d.ts +1 -0
  271. package/dist/types-ts4.5/entry-points/drag-and-drop/group-drop-indicator.d.ts +1 -0
  272. package/dist/types-ts4.5/entry-points/drag-and-drop/hitbox.d.ts +1 -0
  273. package/dist/types-ts4.5/entry-points/drag-and-drop/use-menu-item-drag-and-drop.d.ts +1 -0
  274. package/dist/types-ts4.5/entry-points/expandable-menu-item.d.ts +4 -0
  275. package/dist/types-ts4.5/entry-points/flyout-menu-item.d.ts +7 -0
  276. package/dist/types-ts4.5/entry-points/link-menu-item.d.ts +3 -0
  277. package/dist/types-ts4.5/entry-points/menu-list-item.d.ts +1 -0
  278. package/dist/types-ts4.5/entry-points/menu-list.d.ts +1 -0
  279. package/dist/types-ts4.5/entry-points/menu-section.d.ts +3 -0
  280. package/dist/types-ts4.5/entry-points/top-level-spacer.d.ts +1 -0
  281. package/dist/types-ts4.5/index.d.ts +1 -0
  282. package/dist/types-ts4.5/ui/menu-item/button-menu-item.d.ts +42 -0
  283. package/dist/types-ts4.5/ui/menu-item/constants.d.ts +15 -0
  284. package/dist/types-ts4.5/ui/menu-item/container-avatar.d.ts +18 -0
  285. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/drag-preview.d.ts +24 -0
  286. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/drop-indicator.d.ts +6 -0
  287. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/group-drop-indicator.d.ts +6 -0
  288. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/hitbox.d.ts +6 -0
  289. package/dist/types-ts4.5/ui/menu-item/drag-and-drop/use-menu-item-drag-and-drop.d.ts +62 -0
  290. package/dist/types-ts4.5/ui/menu-item/drag-handle/drag-handle.d.ts +6 -0
  291. package/dist/types-ts4.5/ui/menu-item/drag-handle/lazy-drag-handle.d.ts +4 -0
  292. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-content.d.ts +17 -0
  293. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-context.d.ts +36 -0
  294. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-level-context.d.ts +4 -0
  295. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item-trigger.d.ts +65 -0
  296. package/dist/types-ts4.5/ui/menu-item/expandable-menu-item/expandable-menu-item.d.ts +65 -0
  297. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/close-button.d.ts +34 -0
  298. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-body.d.ts +38 -0
  299. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-footer.d.ts +25 -0
  300. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-header.d.ts +35 -0
  301. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-content.d.ts +39 -0
  302. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-context.d.ts +38 -0
  303. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item-trigger.d.ts +46 -0
  304. package/dist/types-ts4.5/ui/menu-item/flyout-menu-item/flyout-menu-item.d.ts +52 -0
  305. package/dist/types-ts4.5/ui/menu-item/link-menu-item.d.ts +22 -0
  306. package/dist/types-ts4.5/ui/menu-item/list-item.d.ts +27 -0
  307. package/dist/types-ts4.5/ui/menu-item/list.d.ts +28 -0
  308. package/dist/types-ts4.5/ui/menu-item/menu-item-signals.d.ts +6 -0
  309. package/dist/types-ts4.5/ui/menu-item/menu-item.d.ts +51 -0
  310. package/dist/types-ts4.5/ui/menu-item/menu-list-item.d.ts +11 -0
  311. package/dist/types-ts4.5/ui/menu-item/menu-list.d.ts +8 -0
  312. package/dist/types-ts4.5/ui/menu-item/top-level-spacer.d.ts +20 -0
  313. package/dist/types-ts4.5/ui/menu-item/types.d.ts +164 -0
  314. package/dist/types-ts4.5/ui/menu-item/use-scroll-menu-item-into-view.d.ts +12 -0
  315. package/dist/types-ts4.5/ui/menu-section/divider.d.ts +6 -0
  316. package/dist/types-ts4.5/ui/menu-section/menu-section-context.d.ts +6 -0
  317. package/dist/types-ts4.5/ui/menu-section/menu-section-heading.d.ts +16 -0
  318. package/dist/types-ts4.5/ui/menu-section/menu-section.d.ts +41 -0
  319. package/drag-and-drop/drag-handle/package.json +17 -0
  320. package/drag-and-drop/drag-preview/package.json +17 -0
  321. package/drag-and-drop/drop-indicator/package.json +17 -0
  322. package/drag-and-drop/group-drop-indicator/package.json +17 -0
  323. package/drag-and-drop/hitbox/package.json +17 -0
  324. package/drag-and-drop/use-menu-item-drag-and-drop/package.json +17 -0
  325. package/expandable-menu-item/package.json +17 -0
  326. package/flyout-menu-item/package.json +17 -0
  327. package/link-menu-item/package.json +17 -0
  328. package/menu-list/package.json +17 -0
  329. package/menu-list-item/package.json +17 -0
  330. package/menu-section/package.json +17 -0
  331. package/package.json +121 -0
  332. package/top-level-spacer/package.json +17 -0
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.CloseButton = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _new = require("@atlaskit/button/new");
10
+ var _cross = _interopRequireDefault(require("@atlaskit/icon/core/cross"));
11
+ /**
12
+ * __Close button__
13
+ *
14
+ * The close button is to be used for flyout menu item headers to ensure that
15
+ * all users have an accessible and obvious way to close the flyout menu.
16
+ *
17
+ * Ensure that the close button renders first in the DOM to make sure that
18
+ * users will encounter all elements of the flyout menu, including everything
19
+ * within the flyout menu header. This can be done using a `Flex` primitive as
20
+ * the custom header's container with a flex direction of `row-reverse`.
21
+ */
22
+ var CloseButton = exports.CloseButton = function CloseButton(_ref) {
23
+ var label = _ref.label,
24
+ onClick = _ref.onClick,
25
+ testId = _ref.testId;
26
+ return /*#__PURE__*/_react.default.createElement(_new.IconButton, {
27
+ testId: testId,
28
+ appearance: "subtle",
29
+ icon: _cross.default,
30
+ label: label,
31
+ onClick: onClick
32
+ });
33
+ };
@@ -0,0 +1,11 @@
1
+ ._12l2x0bf{margin-inline-end:var(--ds-space-negative-100,-8px)}
2
+ ._18m91wug{overflow-y:auto}
3
+ ._1bahv2br{justify-content:start}
4
+ ._1e0c1txw{display:flex}
5
+ ._2lx21bp4{flex-direction:column}
6
+ ._4t3i1osq{height:100%}
7
+ ._6rthx0bf{margin-block-end:var(--ds-space-negative-100,-8px)}
8
+ ._85i5u2gc{padding-block-end:var(--ds-space-100,8px)}
9
+ ._ahbqx0bf{margin-inline-start:var(--ds-space-negative-100,-8px)}
10
+ ._bozgu2gc{padding-inline-start:var(--ds-space-100,8px)}
11
+ ._y4tiu2gc{padding-inline-end:var(--ds-space-100,8px)}
@@ -0,0 +1,38 @@
1
+ /* flyout-body.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FlyoutBody = void 0;
9
+ require("./flyout-body.compiled.css");
10
+ var _runtime = require("@compiled/react/runtime");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var bodyStyles = {
13
+ root: "_1e0c1txw _2lx21bp4 _18m91wug _4t3i1osq _1bahv2br _ahbqx0bf _12l2x0bf _6rthx0bf _bozgu2gc _y4tiu2gc _85i5u2gc"
14
+ };
15
+ /**
16
+ * __Flyout menu item body__
17
+ *
18
+ * The main section of a flyout menu. This component is used to render the
19
+ * primary contents of the flyout menu. This component should be placed between
20
+ * FlyoutHeader and FlyoutFooter (if present), as is scrollable if the content
21
+ * exceeds the available space.
22
+ */
23
+ var FlyoutBody = exports.FlyoutBody = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
+ var children = props.children,
25
+ testId = props.testId,
26
+ onKeyDown = props.onKeyDown,
27
+ onKeyUp = props.onKeyUp,
28
+ onBlurCapture = props.onBlurCapture;
29
+ return /*#__PURE__*/_react.default.createElement("div", {
30
+ ref: ref,
31
+ "data-testid": testId,
32
+ onKeyDown: onKeyDown,
33
+ onKeyUp: onKeyUp,
34
+ onBlurCapture: onBlurCapture,
35
+ role: "presentation",
36
+ className: (0, _runtime.ax)([bodyStyles.root])
37
+ }, children);
38
+ });
@@ -0,0 +1,5 @@
1
+ ._1pfhu2gc{margin-block-start:var(--ds-space-100,8px)}
2
+ ._1q51u2gc{padding-block-start:var(--ds-space-100,8px)}
3
+ ._1sw7nqa1{border-block-start-style:solid}
4
+ ._7myae4h9{border-block-start-width:var(--ds-border-width,1px)}
5
+ ._qgnu1l7x{border-block-start-color:var(--ds-border,#0b120e24)}
@@ -0,0 +1,29 @@
1
+ /* flyout-footer.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FlyoutFooter = void 0;
9
+ require("./flyout-footer.compiled.css");
10
+ var _runtime = require("@compiled/react/runtime");
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var footerStyles = {
13
+ root: "_7myae4h9 _1sw7nqa1 _qgnu1l7x _1pfhu2gc _1q51u2gc"
14
+ };
15
+ /**
16
+ * __Flyout menu item footer__
17
+ *
18
+ * The footer section of a flyout menu. This component can display
19
+ * supplementary actions or information at the bottom of the flyout menu. This
20
+ * component should be placed after FlyoutBody within the FlyoutMenuItemContent.
21
+ */
22
+ var FlyoutFooter = exports.FlyoutFooter = function FlyoutFooter(props) {
23
+ var children = props.children,
24
+ testId = props.testId;
25
+ return /*#__PURE__*/_react.default.createElement("div", {
26
+ "data-testid": testId,
27
+ className: (0, _runtime.ax)([footerStyles.root])
28
+ }, children);
29
+ };
@@ -0,0 +1,11 @@
1
+
2
+ ._zulp12x7{gap:var(--ds-space-075,6px)}
3
+ ._zulppxbi{gap:var(--ds-space-200,1pc)}._1bah1yb4{justify-content:space-between}
4
+ ._1bsb1osq{width:100%}
5
+ ._1e0c1txw{display:flex}
6
+ ._2lx21bp4{flex-direction:column}
7
+ ._2lx21sbv{flex-direction:row-reverse}
8
+ ._4cvr1h6o{align-items:center}
9
+ ._85i512x7{padding-block-end:var(--ds-space-075,6px)}
10
+ ._bozg1b66{padding-inline-start:var(--ds-space-050,4px)}
11
+ ._bozgv77o{padding-inline-start:var(--ds-space-025,2px)}
@@ -0,0 +1,54 @@
1
+ /* flyout-header.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.FlyoutHeader = void 0;
10
+ require("./flyout-header.compiled.css");
11
+ var _runtime = require("@compiled/react/runtime");
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _heading = _interopRequireDefault(require("@atlaskit/heading"));
14
+ var _compiled = require("@atlaskit/primitives/compiled");
15
+ var _closeButton = require("./close-button");
16
+ var _flyoutMenuItemContext = require("./flyout-menu-item-context");
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
18
+ var headerStyles = {
19
+ root: "_zulp12x7 _bozg1b66 _85i512x7 _1e0c1txw _2lx21bp4",
20
+ flex: "_zulppxbi _1bah1yb4 _2lx21sbv _4cvr1h6o _1bsb1osq _bozgv77o"
21
+ };
22
+ /**
23
+ * __FlyoutHeader__
24
+ *
25
+ * The header section of a flyout menu. This component displays the title, and
26
+ * close button, as well as any other provided actions relevant to the menu.
27
+ * This component should be placed first within the FlyoutMenuItemContent.
28
+ */
29
+ var FlyoutHeader = exports.FlyoutHeader = function FlyoutHeader(props) {
30
+ var children = props.children,
31
+ testId = props.testId,
32
+ title = props.title,
33
+ closeButtonLabel = props.closeButtonLabel;
34
+ var id = (0, _flyoutMenuItemContext.useTitleId)();
35
+ var onCloseRef = (0, _react.useContext)(_flyoutMenuItemContext.OnCloseContext);
36
+ var handleClose = (0, _react.useCallback)(function (event) {
37
+ var _onCloseRef$current;
38
+ (_onCloseRef$current = onCloseRef.current) === null || _onCloseRef$current === void 0 || _onCloseRef$current.call(onCloseRef, event, 'close-button');
39
+ }, [onCloseRef]);
40
+ return /*#__PURE__*/_react.default.createElement("div", {
41
+ "data-testid": testId,
42
+ className: (0, _runtime.ax)([headerStyles.root])
43
+ }, /*#__PURE__*/_react.default.createElement(_compiled.Flex, {
44
+ xcss: headerStyles.flex
45
+ }, /*#__PURE__*/_react.default.createElement(_closeButton.CloseButton, {
46
+ label: closeButtonLabel,
47
+ onClick: handleClose,
48
+ testId: testId && "".concat(testId, "--close-button")
49
+ }), /*#__PURE__*/_react.default.createElement(_heading.default, {
50
+ size: "xsmall",
51
+ as: "h2",
52
+ id: id
53
+ }, title)), children);
54
+ };
@@ -0,0 +1,8 @@
1
+ ._1e0c1txw{display:flex}
2
+ ._1q51u2gc{padding-block-start:var(--ds-space-100,8px)}
3
+ ._2lx21bp4{flex-direction:column}
4
+ ._4t3i1osq{height:100%}
5
+ ._85i5u2gc{padding-block-end:var(--ds-space-100,8px)}
6
+ ._bozgu2gc{padding-inline-start:var(--ds-space-100,8px)}
7
+ ._y4tiu2gc{padding-inline-end:var(--ds-space-100,8px)}
8
+ @media (min-width:48rem){._14b51kdj{width:25pc}}
@@ -0,0 +1,223 @@
1
+ /* flyout-menu-item-content.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.FlyoutMenuItemContent = void 0;
10
+ require("./flyout-menu-item-content.compiled.css");
11
+ var _runtime = require("@compiled/react/runtime");
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _analyticsNext = require("@atlaskit/analytics-next");
15
+ var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
+ var _experimental = require("@atlaskit/popup/experimental");
18
+ var _flyoutMenuItemContext = require("./flyout-menu-item-context");
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ /**
21
+ * The vertical offset in px to ensure the flyout container does not exceed the bounds of
22
+ * the window. This matches the padding of the content container, and it's position within
23
+ * the viewport.
24
+ *
25
+ * - FlyoutMenuItemContent: paddingBlock: token('space.100'); – 8px top, 8px bottom
26
+ * - Position: 5px top, 5px bottom
27
+ *
28
+ * Total vertical padding:
29
+ * (8px [content top] + 8px [content bottom]) +
30
+ * (5px [position top] + 5px [position bottom]) = 26px
31
+ */
32
+ var FLYOUT_MENU_VERTICAL_OFFSET_PX = 26;
33
+
34
+ /**
35
+ * The maximum height of the flyout menu in pixels, following the Confluence standard maximum
36
+ * height of 760px.
37
+ */
38
+ var FLYOUT_MENU_MAX_HEIGHT_PX = 760;
39
+ var flyoutMenuItemContentStyles = {
40
+ root: "_1q51u2gc _85i5u2gc _bozgu2gc _y4tiu2gc _14b51kdj"
41
+ };
42
+ var flyoutMenuItemContentContainerStyles = {
43
+ container: "_1e0c1txw _4t3i1osq _2lx21bp4"
44
+ };
45
+ /**
46
+ * __FlyoutMenuItemContent__
47
+ *
48
+ * The content that appears when the flyout menu is open.
49
+ */
50
+ var FlyoutMenuItemContent = exports.FlyoutMenuItemContent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
51
+ var children = _ref.children,
52
+ containerTestId = _ref.containerTestId,
53
+ onClose = _ref.onClose,
54
+ autoFocus = _ref.autoFocus,
55
+ _ref$maxHeight = _ref.maxHeight,
56
+ maxHeight = _ref$maxHeight === void 0 ? FLYOUT_MENU_MAX_HEIGHT_PX : _ref$maxHeight;
57
+ var setIsOpen = (0, _react.useContext)(_flyoutMenuItemContext.SetIsOpenContext);
58
+ var onCloseRef = (0, _react.useContext)(_flyoutMenuItemContext.OnCloseContext);
59
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
60
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
61
+
62
+ // The source of the close is not accessible to the consumer, it is determined within the
63
+ // handleClose function, or passed in as a parameter in FlyoutMenuItemTrigger (outside-click),
64
+ // or FlyoutHeader (close-button).
65
+ var handleClose = (0, _react.useCallback)(function (event, source) {
66
+ if ((0, _platformFeatureFlags.fg)("platform_dst_nav4_flyout_menu_slots_close_button")) {
67
+ // Use the passed source if provided, otherwise determine from event
68
+ var determinedSource = source || 'other';
69
+ if (!source) {
70
+ if (event instanceof KeyboardEvent) {
71
+ var keyboardEvent = event;
72
+ if (keyboardEvent.key === 'Escape' || keyboardEvent.key === 'Esc') {
73
+ determinedSource = 'escape-key';
74
+ }
75
+ } else if (event instanceof MouseEvent) {
76
+ if (event && 'type' in event && event.type === 'click') {
77
+ determinedSource = 'outside-click';
78
+ }
79
+ }
80
+ }
81
+
82
+ // When flyout menu is closed, fire analytics event
83
+ var navigationAnalyticsEvent = createAnalyticsEvent({
84
+ source: 'sideNav',
85
+ actionSubject: 'flyoutMenu',
86
+ action: 'closed',
87
+ attributes: {
88
+ closeSource: determinedSource
89
+ }
90
+ });
91
+ navigationAnalyticsEvent.fire('navigation');
92
+ }
93
+ onClose === null || onClose === void 0 || onClose();
94
+ setIsOpen(false);
95
+ }, [setIsOpen, onClose, createAnalyticsEvent]);
96
+
97
+ // Register handleClose in the ref to allow the FlyoutMenuItemTrigger to access it
98
+ (0, _react.useEffect)(function () {
99
+ onCloseRef.current = handleClose;
100
+ }, [handleClose, onCloseRef]);
101
+ var titleId = (0, _react.useId)();
102
+ var computedMaxHeight = (0, _react.useMemo)(function () {
103
+ return "min(\n\t\t\tcalc(100vh - ".concat(FLYOUT_MENU_VERTICAL_OFFSET_PX, "px),\n\t\t\t").concat(maxHeight, "px\n\t\t)");
104
+ }, [maxHeight]);
105
+ return /*#__PURE__*/_react.default.createElement(_experimental.PopupContent, {
106
+ appearance: "UNSAFE_modal-below-sm",
107
+ onClose: handleClose,
108
+ placement: "right-start"
109
+ // Using a capture event listener so that we are more resilient against
110
+ // code that stops events. We _really_ want to close the flyout whenever
111
+ // user user clicks outside the flyout content
112
+ ,
113
+ shouldUseCaptureOnOutsideClick: true,
114
+ shouldFitViewport: true,
115
+ testId: containerTestId,
116
+ xcss: flyoutMenuItemContentStyles.root,
117
+ autoFocus: autoFocus,
118
+ role: (0, _platformFeatureFlags.fg)("platform_dst_nav4_flyout_menu_slots_close_button") ? "dialog" : undefined,
119
+ titleId: (0, _platformFeatureFlags.fg)("platform_dst_nav4_flyout_menu_slots_close_button") ? titleId : undefined
120
+ /**
121
+ * Disabling GPU acceleration removes the use of `transform` by popper.js for this popup.
122
+ *
123
+ * This allows makers to use popups with `shouldRenderToParent` inside the flyout.
124
+ *
125
+ * Without this, the `transform` makes the flyout the containing element for fixed positioning.
126
+ * Because the flyout is also a scroll container then any nested, layered element is unable to
127
+ * escape the flyout.
128
+ *
129
+ * Disabling the `transform` is the simplest way to resolve this layering issue,
130
+ * and should have negligible performance impacts, because the flyout menus should rarely
131
+ * need to be repositioned.
132
+ */,
133
+ shouldDisableGpuAcceleration: true,
134
+ shouldRenderToParent: (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyoutmenuitem_render_to_parent')
135
+ }, function (_ref2) {
136
+ var update = _ref2.update;
137
+ return /*#__PURE__*/_react.default.createElement(UpdatePopperOnContentResize, {
138
+ ref: forwardedRef,
139
+ update: update
140
+ }, (0, _platformFeatureFlags.fg)("platform_dst_nav4_flyout_menu_slots_close_button") ? /*#__PURE__*/_react.default.createElement(_flyoutMenuItemContext.TitleIdContextProvider, {
141
+ value: titleId
142
+ }, /*#__PURE__*/_react.default.createElement("div", {
143
+ style: {
144
+ maxHeight: computedMaxHeight
145
+ },
146
+ "data-testid": containerTestId ? "".concat(containerTestId, "--container") : undefined,
147
+ className: (0, _runtime.ax)([flyoutMenuItemContentContainerStyles.container])
148
+ }, children)) : children);
149
+ });
150
+ });
151
+ function createResizeObserver(update) {
152
+ return new ResizeObserver(update);
153
+ }
154
+
155
+ /**
156
+ * Will call the Popper.js `update()` method to recalculate positioning, when the flyout menu changes size.
157
+ * This is the size of the scroll container, NOT the scroll content.
158
+ *
159
+ * We could potentially bake this into `@atlaskit/popup` or `@atlaskit/popper` but there are a few
160
+ * reasons to keep it scoped to flyout menus for now:
161
+ *
162
+ * 1. It's easier to unwind
163
+ * 2. We've only had bug reports for flyout menus
164
+ * 3. Popup exposes the `update` function so consumers can already do this themselves if necessary
165
+ * 4. Flyout menus are a lot more restricted to other popups, it might not make sense more generally
166
+ */
167
+ var UpdatePopperOnContentResize = /*#__PURE__*/(0, _react.forwardRef)(function (_ref3, forwardedRef) {
168
+ var update = _ref3.update,
169
+ children = _ref3.children;
170
+ /**
171
+ * Storing our `update` function in a ref so that we have a stable reference to it.
172
+ * We need this because our `ResizeObserver` callback cannot be changed after creating it.
173
+ */
174
+ var updateRef = (0, _react.useRef)(update);
175
+ (0, _react.useEffect)(function () {
176
+ updateRef.current = update;
177
+ }, [update]);
178
+
179
+ /**
180
+ * Stable function that calls the latest `update` function by calling it through the stable ref.
181
+ */
182
+ var triggerUpdate = (0, _react.useCallback)(function () {
183
+ var _updateRef$current;
184
+ (_updateRef$current = updateRef.current) === null || _updateRef$current === void 0 || _updateRef$current.call(updateRef);
185
+ }, []);
186
+ var _useState = (0, _react.useState)(function () {
187
+ return createResizeObserver(triggerUpdate);
188
+ }),
189
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
190
+ resizeObserver = _useState2[0];
191
+
192
+ /**
193
+ * This is a callback ref that will update which `HTMLElement` we are observing,
194
+ * if or when the underlying `HTMLElement` changes or unmounts.
195
+ */
196
+ var observeCallbackRef = (0, _react.useCallback)(function (element) {
197
+ /**
198
+ * Unobserves all observed elements.
199
+ * Allows us to cleanup without needing to store a reference to the previous element.
200
+ */
201
+ resizeObserver.disconnect();
202
+ if (!element) {
203
+ return;
204
+ }
205
+ resizeObserver.observe(element);
206
+ }, [resizeObserver]);
207
+
208
+ /**
209
+ * We need to memoize the ref otherwise `triggerUpdate` is repeatedly called.
210
+ *
211
+ * This stems from ResizeObserver firing once after calling `.observe()` even if there
212
+ * was no resize.
213
+ *
214
+ * Without memoizing the ref, the update causes a rerender, which causes the ref to
215
+ * get recreated, which triggers an update and so on in a loop.
216
+ */
217
+ var ref = (0, _react.useMemo)(function () {
218
+ return (0, _mergeRefs.default)([forwardedRef, observeCallbackRef]);
219
+ }, [forwardedRef, observeCallbackRef]);
220
+ return /*#__PURE__*/_react.default.createElement("div", {
221
+ ref: ref
222
+ }, children);
223
+ });
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useTitleId = exports.useSetFlyoutMenuOpen = exports.useFlyoutMenuOpen = exports.TitleIdContextProvider = exports.TitleIdContext = exports.SetIsOpenContext = exports.OnCloseContext = exports.IsOpenContext = void 0;
8
+ var _react = require("react");
9
+ var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
10
+ /**
11
+ * __Is open context__
12
+ *
13
+ * A context for storing the isOpen value of the FlyoutMenuItem.
14
+ */
15
+ var IsOpenContext = exports.IsOpenContext = /*#__PURE__*/(0, _react.createContext)(false);
16
+
17
+ /**
18
+ * __Set is open context__
19
+ *
20
+ * A context for storing a function that sets isOpen value of the FlyoutMenuItem.
21
+ */
22
+ var SetIsOpenContext = exports.SetIsOpenContext = /*#__PURE__*/(0, _react.createContext)(_noop.default);
23
+ var useFlyoutMenuOpen = exports.useFlyoutMenuOpen = function useFlyoutMenuOpen() {
24
+ return (0, _react.useContext)(IsOpenContext);
25
+ };
26
+ var useSetFlyoutMenuOpen = exports.useSetFlyoutMenuOpen = function useSetFlyoutMenuOpen() {
27
+ return (0, _react.useContext)(SetIsOpenContext);
28
+ };
29
+
30
+ /**
31
+ * __On close context__
32
+ *
33
+ * A context for storing a ref to the onClose handler with source information.This
34
+ * is used by FlyoutMenuItemContent, FlyoutMenuItemTrigger and FlyoutHeader to store
35
+ * the on close function and source information for closing the flyout menu.
36
+ */
37
+ var OnCloseContext = exports.OnCloseContext = /*#__PURE__*/(0, _react.createContext)({
38
+ current: null
39
+ });
40
+
41
+ /**
42
+ * __Title id context__
43
+ *
44
+ * A context for storing the title id of the FlyoutMenuItem that is displayed in
45
+ * FlyoutHeader, and used as the aria-labelledby on the FlyoutMenuItemContent
46
+ * container.
47
+ */
48
+ var TitleIdContext = exports.TitleIdContext = /*#__PURE__*/(0, _react.createContext)(undefined);
49
+ var useTitleId = exports.useTitleId = function useTitleId() {
50
+ return (0, _react.useContext)(TitleIdContext);
51
+ };
52
+
53
+ /**
54
+ * __Title id provider__
55
+ *
56
+ * A context provider for supplying the title id to the FlyoutHeader.
57
+ */
58
+ var TitleIdContextProvider = exports.TitleIdContextProvider = TitleIdContext.Provider;
@@ -0,0 +1,2 @@
1
+ ._18zr12x7{padding-inline:var(--ds-space-075,6px)}
2
+ [dir=rtl] ._1tz3r0mg{transform:scaleX(-1)}
@@ -0,0 +1,68 @@
1
+ /* flyout-menu-item-trigger.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.FlyoutMenuItemTrigger = void 0;
10
+ require("./flyout-menu-item-trigger.compiled.css");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var React = _react;
13
+ var _runtime = require("@compiled/react/runtime");
14
+ var _mergeRefs = _interopRequireDefault(require("@atlaskit/ds-lib/merge-refs"));
15
+ var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right"));
16
+ var _experimental = require("@atlaskit/popup/experimental");
17
+ var _menuItem = require("../menu-item");
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
19
+ var elemAfterStyles = {
20
+ root: "_18zr12x7 _1tz3r0mg"
21
+ };
22
+ /**
23
+ * __FlyoutMenuItemTrigger__
24
+ *
25
+ * The button that toggles the flyout menu.
26
+ */
27
+ var FlyoutMenuItemTrigger = exports.FlyoutMenuItemTrigger = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
28
+ var children = _ref.children,
29
+ elemBefore = _ref.elemBefore,
30
+ onClick = _ref.onClick,
31
+ isSelected = _ref.isSelected,
32
+ interactionName = _ref.interactionName,
33
+ testId = _ref.testId,
34
+ isContentTooltipDisabled = _ref.isContentTooltipDisabled,
35
+ visualContentRef = _ref.visualContentRef,
36
+ isDragging = _ref.isDragging,
37
+ hasDragIndicator = _ref.hasDragIndicator,
38
+ dropIndicator = _ref.dropIndicator;
39
+ return /*#__PURE__*/React.createElement(_experimental.PopupTrigger, null, function (_ref2) {
40
+ var ref = _ref2.ref,
41
+ ariaControls = _ref2['aria-controls'],
42
+ ariaExpanded = _ref2['aria-expanded'],
43
+ ariaHasPopup = _ref2['aria-haspopup'];
44
+ return /*#__PURE__*/React.createElement(_menuItem.MenuItemBase, {
45
+ testId: testId,
46
+ ref: (0, _mergeRefs.default)([ref, forwardedRef]),
47
+ visualContentRef: visualContentRef,
48
+ elemBefore: elemBefore,
49
+ elemAfter: /*#__PURE__*/React.createElement("div", {
50
+ className: (0, _runtime.ax)([elemAfterStyles.root])
51
+ }, /*#__PURE__*/React.createElement(_chevronRight.default, {
52
+ label: "",
53
+ color: "currentColor",
54
+ size: "small"
55
+ })),
56
+ onClick: onClick,
57
+ ariaControls: ariaControls,
58
+ ariaExpanded: ariaExpanded,
59
+ ariaHasPopup: ariaHasPopup,
60
+ interactionName: interactionName,
61
+ isContentTooltipDisabled: isContentTooltipDisabled,
62
+ isSelected: isSelected,
63
+ isDragging: isDragging,
64
+ hasDragIndicator: hasDragIndicator,
65
+ dropIndicator: dropIndicator
66
+ }, children);
67
+ });
68
+ });
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FlyoutMenuItem = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _useControlled3 = _interopRequireDefault(require("@atlaskit/ds-lib/use-controlled"));
12
+ var _usePreviousValue = _interopRequireDefault(require("@atlaskit/ds-lib/use-previous-value"));
13
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
+ var _experimental = require("@atlaskit/popup/experimental");
15
+ var _menuListItem = require("../menu-list-item");
16
+ var _flyoutMenuItemContext = require("./flyout-menu-item-context");
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
18
+ /**
19
+ * __FlyoutMenuItem__
20
+ *
21
+ * Displays content in a flyout menu, triggered by a button.
22
+ *
23
+ * The top-level component that contains the trigger and content of a flyout menu.
24
+ *
25
+ * Usage example:
26
+ * ```tsx
27
+ * <FlyoutMenuItem>
28
+ * <FlyoutMenuItemTrigger>Trigger</FlyoutMenuItemTrigger>
29
+ * <FlyoutMenuItemContent>
30
+ * <MenuList>
31
+ * <ButtonMenuItem>Item 1</ButtonMenuItem>
32
+ * <ButtonMenuItem>Item 2</ButtonMenuItem>
33
+ * </MenuList>
34
+ * </FlyoutMenuItemContent>
35
+ * </FlyoutMenuItem>
36
+ * ```
37
+ */
38
+ var FlyoutMenuItem = exports.FlyoutMenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
39
+ var children = _ref.children,
40
+ id = _ref.id,
41
+ isOpenControlled = _ref.isOpen,
42
+ _ref$isDefaultOpen = _ref.isDefaultOpen,
43
+ isDefaultOpen = _ref$isDefaultOpen === void 0 ? false : _ref$isDefaultOpen,
44
+ onOpenChange = _ref.onOpenChange;
45
+ var _useControlled = (0, _useControlled3.default)(isOpenControlled, function () {
46
+ return isDefaultOpen;
47
+ }),
48
+ _useControlled2 = (0, _slicedToArray2.default)(_useControlled, 2),
49
+ isOpen = _useControlled2[0],
50
+ setIsOpen = _useControlled2[1];
51
+ var previousIsOpen = (0, _usePreviousValue.default)(isOpen);
52
+ (0, _react.useEffect)(function () {
53
+ if (previousIsOpen === undefined || previousIsOpen === isOpen) {
54
+ /**
55
+ * The previous value is `undefined` on initialization, so if it is `undefined` then the value hasn't changed.
56
+ *
57
+ * The previous value can be equal to the current one if the component re-renders due to something else changing.
58
+ *
59
+ * In both cases the value hasn't changed and we don't want to notify consumers.
60
+ */
61
+ return;
62
+ }
63
+ onOpenChange === null || onOpenChange === void 0 || onOpenChange(isOpen);
64
+ }, [isOpen, onOpenChange, previousIsOpen]);
65
+ return /*#__PURE__*/_react.default.createElement(_flyoutMenuItemContext.IsOpenContext.Provider, {
66
+ value: isOpen
67
+ }, /*#__PURE__*/_react.default.createElement(_flyoutMenuItemContext.SetIsOpenContext.Provider, {
68
+ value: setIsOpen
69
+ }, /*#__PURE__*/_react.default.createElement(_menuListItem.MenuListItem, {
70
+ ref: forwardedRef
71
+ }, /*#__PURE__*/_react.default.createElement(_experimental.Popup, {
72
+ id: id,
73
+ isOpen: isOpen,
74
+ role: (0, _platformFeatureFlags.fg)('platform_dst_nav4_flyout_menu_slots_close_button') ? 'dialog' : undefined
75
+ }, children))));
76
+ });
@@ -0,0 +1 @@
1
+ ._10m98stt{scroll-margin-inline:750pt}