@elastic/eui 109.2.0 → 110.0.0-snapshot.1764783610243

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/es/components/basic_table/in_memory_table.js +87 -61
  2. package/es/components/collapsible_nav/collapsible_nav.js +20 -101
  3. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  4. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +5 -1
  5. package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  6. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  7. package/es/components/date_picker/super_date_picker/quick_select_popover/index.js +1 -0
  8. package/es/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  9. package/es/components/filter_group/filter_group.a11y.js +1 -1
  10. package/es/components/flyout/_flyout_overlay.js +52 -0
  11. package/es/components/flyout/_flyout_resize_button.js +32 -0
  12. package/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  13. package/es/components/flyout/const.js +42 -0
  14. package/es/components/flyout/flyout.component.js +481 -0
  15. package/es/components/flyout/flyout.js +77 -379
  16. package/es/components/flyout/flyout.styles.js +105 -7
  17. package/es/components/flyout/flyout_menu.js +241 -0
  18. package/es/components/flyout/flyout_menu.styles.js +19 -0
  19. package/{optimize/es/components/flyout/flyout_context.js → es/components/flyout/flyout_menu_context.js} +1 -7
  20. package/es/components/flyout/flyout_parent_context.js +36 -0
  21. package/es/components/flyout/flyout_resizable.js +33 -144
  22. package/es/components/flyout/hooks.js +25 -0
  23. package/es/components/flyout/index.js +5 -2
  24. package/es/components/flyout/manager/actions.js +153 -0
  25. package/es/components/flyout/manager/activity_stage.js +95 -0
  26. package/es/components/flyout/manager/const.js +56 -0
  27. package/es/components/flyout/manager/context.js +33 -0
  28. package/es/components/flyout/manager/flyout_child.js +75 -0
  29. package/es/components/flyout/manager/flyout_main.js +65 -0
  30. package/es/components/flyout/manager/flyout_main.styles.js +25 -0
  31. package/es/components/flyout/manager/flyout_managed.js +227 -0
  32. package/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  33. package/es/components/flyout/manager/hooks.js +55 -0
  34. package/es/components/flyout/manager/index.js +31 -0
  35. package/es/components/flyout/manager/layout_mode.js +167 -0
  36. package/es/components/flyout/manager/provider.js +57 -0
  37. package/es/components/flyout/manager/reducer.js +320 -0
  38. package/es/components/flyout/manager/selectors.js +116 -0
  39. package/es/components/flyout/manager/store.js +113 -0
  40. package/es/components/flyout/manager/validation.js +85 -0
  41. package/es/components/flyout/use_flyout_resizable.js +149 -0
  42. package/es/components/flyout/use_flyout_z_index.js +46 -0
  43. package/es/components/header/header_logo/header_logo.js +6 -1
  44. package/es/components/header/header_logo/header_logo.styles.js +1 -1
  45. package/es/components/icon/icon.styles.js +4 -4
  46. package/es/components/overlay_mask/overlay_mask.js +13 -3
  47. package/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  48. package/es/components/page/page.js +11 -3
  49. package/es/components/page/page.styles.js +1 -2
  50. package/es/components/page/page_header/page_header.js +11 -3
  51. package/es/components/page_template/outer/page_outer.js +2 -3
  52. package/es/components/page_template/outer/page_outer.styles.js +29 -35
  53. package/es/components/page_template/page_template.js +8 -2
  54. package/es/components/provider/provider.js +2 -1
  55. package/es/components/search_bar/search_bar.js +10 -4
  56. package/es/components/selectable/selectable.js +7 -2
  57. package/es/services/string/to_initials.js +26 -4
  58. package/eui.d.ts +1516 -930
  59. package/i18ntokens.json +577 -523
  60. package/lib/components/basic_table/in_memory_table.js +87 -61
  61. package/lib/components/collapsible_nav/collapsible_nav.js +20 -101
  62. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  63. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +5 -1
  64. package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  65. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  66. package/lib/components/date_picker/super_date_picker/quick_select_popover/index.js +7 -0
  67. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  68. package/lib/components/filter_group/filter_group.a11y.js +1 -1
  69. package/lib/components/flyout/_flyout_overlay.js +59 -0
  70. package/lib/components/flyout/_flyout_resize_button.js +38 -0
  71. package/{test-env/components/flyout/flyout_resizable.styles.js → lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  72. package/lib/components/flyout/const.js +49 -0
  73. package/lib/components/flyout/flyout.component.js +488 -0
  74. package/lib/components/flyout/flyout.js +102 -379
  75. package/lib/components/flyout/flyout.styles.js +105 -7
  76. package/lib/components/flyout/flyout_menu.js +243 -0
  77. package/lib/components/flyout/flyout_menu.styles.js +25 -0
  78. package/{optimize/lib/components/flyout/flyout_context.js → lib/components/flyout/flyout_menu_context.js} +2 -7
  79. package/lib/components/flyout/flyout_parent_context.js +43 -0
  80. package/lib/components/flyout/flyout_resizable.js +36 -147
  81. package/lib/components/flyout/hooks.js +30 -0
  82. package/lib/components/flyout/index.js +21 -14
  83. package/lib/components/flyout/manager/actions.js +159 -0
  84. package/lib/components/flyout/manager/activity_stage.js +101 -0
  85. package/lib/components/flyout/manager/const.js +62 -0
  86. package/lib/components/flyout/manager/context.js +41 -0
  87. package/lib/components/flyout/manager/flyout_child.js +80 -0
  88. package/lib/components/flyout/manager/flyout_main.js +70 -0
  89. package/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  90. package/lib/components/flyout/manager/flyout_managed.js +233 -0
  91. package/lib/components/flyout/manager/flyout_managed.styles.js +73 -0
  92. package/lib/components/flyout/manager/hooks.js +131 -0
  93. package/lib/components/flyout/manager/index.js +168 -0
  94. package/lib/components/flyout/manager/layout_mode.js +171 -0
  95. package/lib/components/flyout/manager/provider.js +63 -0
  96. package/lib/components/flyout/manager/reducer.js +325 -0
  97. package/lib/components/flyout/manager/selectors.js +122 -0
  98. package/lib/components/flyout/manager/store.js +120 -0
  99. package/lib/components/flyout/manager/validation.js +94 -0
  100. package/lib/components/flyout/use_flyout_resizable.js +153 -0
  101. package/lib/components/flyout/use_flyout_z_index.js +51 -0
  102. package/lib/components/header/header_logo/header_logo.js +6 -1
  103. package/lib/components/header/header_logo/header_logo.styles.js +1 -1
  104. package/lib/components/icon/icon.styles.js +4 -4
  105. package/lib/components/overlay_mask/overlay_mask.js +12 -2
  106. package/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  107. package/lib/components/page/page.js +10 -2
  108. package/lib/components/page/page.styles.js +1 -2
  109. package/lib/components/page/page_header/page_header.js +10 -2
  110. package/lib/components/page_template/outer/page_outer.js +1 -2
  111. package/lib/components/page_template/outer/page_outer.styles.js +29 -35
  112. package/lib/components/page_template/page_template.js +8 -2
  113. package/lib/components/provider/provider.js +2 -1
  114. package/lib/components/search_bar/search_bar.js +9 -4
  115. package/lib/components/selectable/selectable.js +7 -2
  116. package/lib/services/string/to_initials.js +26 -4
  117. package/optimize/es/components/basic_table/in_memory_table.js +71 -46
  118. package/optimize/es/components/collapsible_nav/collapsible_nav.js +1 -0
  119. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  120. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +5 -1
  121. package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  122. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  123. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/index.js +1 -0
  124. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  125. package/optimize/es/components/filter_group/filter_group.a11y.js +1 -1
  126. package/optimize/es/components/flyout/_flyout_overlay.js +52 -0
  127. package/optimize/es/components/flyout/_flyout_resize_button.js +31 -0
  128. package/optimize/es/components/flyout/{flyout_resizable.styles.js → _flyout_resize_button.styles.js} +11 -11
  129. package/optimize/es/components/flyout/const.js +42 -0
  130. package/optimize/es/components/flyout/flyout.component.js +469 -0
  131. package/optimize/es/components/flyout/flyout.js +53 -349
  132. package/optimize/es/components/flyout/flyout.styles.js +102 -7
  133. package/optimize/es/components/flyout/flyout_menu.js +162 -0
  134. package/optimize/es/components/flyout/flyout_menu.styles.js +19 -0
  135. package/{es/components/flyout/flyout_context.js → optimize/es/components/flyout/flyout_menu_context.js} +1 -7
  136. package/optimize/es/components/flyout/flyout_parent_context.js +36 -0
  137. package/optimize/es/components/flyout/flyout_resizable.js +7 -138
  138. package/optimize/es/components/flyout/hooks.js +25 -0
  139. package/optimize/es/components/flyout/index.js +5 -2
  140. package/optimize/es/components/flyout/manager/actions.js +153 -0
  141. package/optimize/es/components/flyout/manager/activity_stage.js +95 -0
  142. package/optimize/es/components/flyout/manager/const.js +56 -0
  143. package/optimize/es/components/flyout/manager/context.js +33 -0
  144. package/optimize/es/components/flyout/manager/flyout_child.js +71 -0
  145. package/optimize/es/components/flyout/manager/flyout_main.js +61 -0
  146. package/optimize/es/components/flyout/manager/flyout_main.styles.js +25 -0
  147. package/optimize/es/components/flyout/manager/flyout_managed.js +223 -0
  148. package/optimize/es/components/flyout/manager/flyout_managed.styles.js +69 -0
  149. package/optimize/es/components/flyout/manager/hooks.js +55 -0
  150. package/optimize/es/components/flyout/manager/index.js +31 -0
  151. package/optimize/es/components/flyout/manager/layout_mode.js +162 -0
  152. package/optimize/es/components/flyout/manager/provider.js +53 -0
  153. package/optimize/es/components/flyout/manager/reducer.js +312 -0
  154. package/optimize/es/components/flyout/manager/selectors.js +116 -0
  155. package/optimize/es/components/flyout/manager/store.js +113 -0
  156. package/optimize/es/components/flyout/manager/types.js +1 -0
  157. package/optimize/es/components/flyout/manager/validation.js +85 -0
  158. package/optimize/es/components/flyout/types.js +1 -0
  159. package/optimize/es/components/flyout/use_flyout_resizable.js +144 -0
  160. package/optimize/es/components/flyout/use_flyout_z_index.js +46 -0
  161. package/optimize/es/components/header/header_logo/header_logo.js +6 -1
  162. package/optimize/es/components/header/header_logo/header_logo.styles.js +1 -1
  163. package/optimize/es/components/icon/icon.styles.js +4 -4
  164. package/optimize/es/components/overlay_mask/overlay_mask.js +13 -3
  165. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +11 -2
  166. package/optimize/es/components/page/page.js +6 -3
  167. package/optimize/es/components/page/page.styles.js +1 -2
  168. package/optimize/es/components/page/page_header/page_header.js +6 -3
  169. package/optimize/es/components/page_template/outer/page_outer.js +2 -3
  170. package/optimize/es/components/page_template/outer/page_outer.styles.js +29 -35
  171. package/optimize/es/components/page_template/page_template.js +2 -1
  172. package/optimize/es/components/provider/provider.js +2 -1
  173. package/optimize/es/components/search_bar/search_bar.js +6 -0
  174. package/optimize/es/components/selectable/selectable.js +7 -2
  175. package/optimize/es/services/string/to_initials.js +26 -4
  176. package/optimize/lib/components/basic_table/in_memory_table.js +71 -46
  177. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -0
  178. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  179. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +5 -1
  180. package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  181. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  182. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/index.js +7 -0
  183. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  184. package/optimize/lib/components/filter_group/filter_group.a11y.js +1 -1
  185. package/optimize/lib/components/flyout/_flyout_overlay.js +62 -0
  186. package/optimize/lib/components/flyout/_flyout_resize_button.js +37 -0
  187. package/{lib/components/flyout/flyout_resizable.styles.js → optimize/lib/components/flyout/_flyout_resize_button.styles.js} +12 -12
  188. package/optimize/lib/components/flyout/const.js +49 -0
  189. package/optimize/lib/components/flyout/flyout.component.js +477 -0
  190. package/optimize/lib/components/flyout/flyout.js +77 -349
  191. package/optimize/lib/components/flyout/flyout.styles.js +102 -7
  192. package/optimize/lib/components/flyout/flyout_menu.js +168 -0
  193. package/optimize/lib/components/flyout/flyout_menu.styles.js +25 -0
  194. package/{lib/components/flyout/flyout_context.js → optimize/lib/components/flyout/flyout_menu_context.js} +2 -7
  195. package/optimize/lib/components/flyout/flyout_parent_context.js +43 -0
  196. package/optimize/lib/components/flyout/flyout_resizable.js +9 -139
  197. package/optimize/lib/components/flyout/hooks.js +30 -0
  198. package/optimize/lib/components/flyout/index.js +21 -14
  199. package/optimize/lib/components/flyout/manager/actions.js +159 -0
  200. package/optimize/lib/components/flyout/manager/activity_stage.js +101 -0
  201. package/optimize/lib/components/flyout/manager/const.js +62 -0
  202. package/optimize/lib/components/flyout/manager/context.js +41 -0
  203. package/optimize/lib/components/flyout/manager/flyout_child.js +76 -0
  204. package/optimize/lib/components/flyout/manager/flyout_main.js +66 -0
  205. package/optimize/lib/components/flyout/manager/flyout_main.styles.js +31 -0
  206. package/optimize/lib/components/flyout/manager/flyout_managed.js +231 -0
  207. package/optimize/lib/components/flyout/manager/flyout_managed.styles.js +74 -0
  208. package/optimize/lib/components/flyout/manager/hooks.js +131 -0
  209. package/optimize/lib/components/flyout/manager/index.js +168 -0
  210. package/optimize/lib/components/flyout/manager/layout_mode.js +169 -0
  211. package/optimize/lib/components/flyout/manager/provider.js +61 -0
  212. package/optimize/lib/components/flyout/manager/reducer.js +318 -0
  213. package/optimize/lib/components/flyout/manager/selectors.js +122 -0
  214. package/optimize/lib/components/flyout/manager/store.js +120 -0
  215. package/optimize/lib/components/flyout/manager/validation.js +94 -0
  216. package/optimize/lib/components/flyout/types.js +5 -0
  217. package/optimize/lib/components/flyout/use_flyout_resizable.js +151 -0
  218. package/optimize/lib/components/flyout/use_flyout_z_index.js +51 -0
  219. package/optimize/lib/components/header/header_logo/header_logo.js +6 -1
  220. package/optimize/lib/components/header/header_logo/header_logo.styles.js +1 -1
  221. package/optimize/lib/components/icon/icon.styles.js +4 -4
  222. package/optimize/lib/components/overlay_mask/overlay_mask.js +12 -2
  223. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +11 -4
  224. package/optimize/lib/components/page/page.js +5 -2
  225. package/optimize/lib/components/page/page.styles.js +1 -2
  226. package/optimize/lib/components/page/page_header/page_header.js +5 -2
  227. package/optimize/lib/components/page_template/outer/page_outer.js +1 -2
  228. package/optimize/lib/components/page_template/outer/page_outer.styles.js +29 -35
  229. package/optimize/lib/components/page_template/page_template.js +2 -1
  230. package/optimize/lib/components/provider/provider.js +2 -1
  231. package/optimize/lib/components/search_bar/search_bar.js +5 -0
  232. package/optimize/lib/components/selectable/selectable.js +7 -2
  233. package/optimize/lib/services/string/to_initials.js +26 -4
  234. package/package.json +7 -5
  235. package/test-env/components/basic_table/in_memory_table.js +87 -61
  236. package/test-env/components/collapsible_nav/collapsible_nav.js +20 -101
  237. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +1 -0
  238. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +5 -1
  239. package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +5 -1
  240. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +3 -1
  241. package/test-env/components/date_picker/super_date_picker/quick_select_popover/index.js +7 -0
  242. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +1 -1
  243. package/test-env/components/filter_group/filter_group.a11y.js +1 -1
  244. package/test-env/components/flyout/_flyout_overlay.js +62 -0
  245. package/test-env/components/flyout/_flyout_resize_button.js +37 -0
  246. package/{optimize/lib/components/flyout/flyout_resizable.styles.js → test-env/components/flyout/_flyout_resize_button.styles.js} +12 -12
  247. package/test-env/components/flyout/const.js +49 -0
  248. package/test-env/components/flyout/flyout.component.js +477 -0
  249. package/test-env/components/flyout/flyout.styles.js +102 -7
  250. package/test-env/components/flyout/flyout_menu.js +241 -0
  251. package/test-env/components/flyout/flyout_menu.styles.js +25 -0
  252. package/test-env/components/flyout/{flyout_context.js → flyout_menu_context.js} +2 -7
  253. package/test-env/components/flyout/flyout_parent_context.js +43 -0
  254. package/test-env/components/flyout/flyout_resizable.js +35 -139
  255. package/test-env/components/flyout/hooks.js +30 -0
  256. package/test-env/components/flyout/index.js +21 -14
  257. package/test-env/components/flyout/manager/actions.js +159 -0
  258. package/test-env/components/flyout/manager/activity_stage.js +101 -0
  259. package/test-env/components/flyout/manager/const.js +62 -0
  260. package/test-env/components/flyout/manager/context.js +41 -0
  261. package/test-env/components/flyout/manager/flyout_child.js +76 -0
  262. package/test-env/components/flyout/manager/flyout_main.js +66 -0
  263. package/test-env/components/flyout/manager/flyout_main.styles.js +31 -0
  264. package/test-env/components/flyout/manager/flyout_managed.js +231 -0
  265. package/test-env/components/flyout/manager/flyout_managed.styles.js +74 -0
  266. package/test-env/components/flyout/manager/hooks.js +131 -0
  267. package/test-env/components/flyout/manager/index.js +168 -0
  268. package/test-env/components/flyout/manager/layout_mode.js +169 -0
  269. package/test-env/components/flyout/manager/provider.js +61 -0
  270. package/test-env/components/flyout/manager/reducer.js +318 -0
  271. package/test-env/components/flyout/manager/selectors.js +122 -0
  272. package/test-env/components/flyout/manager/store.js +120 -0
  273. package/test-env/components/flyout/manager/types.js +5 -0
  274. package/test-env/components/flyout/manager/validation.js +94 -0
  275. package/test-env/components/flyout/types.js +5 -0
  276. package/test-env/components/flyout/use_flyout_resizable.js +151 -0
  277. package/test-env/components/flyout/use_flyout_z_index.js +51 -0
  278. package/test-env/components/header/header_logo/header_logo.js +6 -1
  279. package/test-env/components/header/header_logo/header_logo.styles.js +1 -1
  280. package/test-env/components/icon/icon.styles.js +4 -4
  281. package/test-env/components/overlay_mask/overlay_mask.js +12 -2
  282. package/test-env/components/overlay_mask/overlay_mask.styles.js +11 -4
  283. package/test-env/components/page/page.js +10 -2
  284. package/test-env/components/page/page.styles.js +1 -2
  285. package/test-env/components/page/page_header/page_header.js +10 -2
  286. package/test-env/components/page_template/outer/page_outer.js +1 -2
  287. package/test-env/components/page_template/outer/page_outer.styles.js +29 -35
  288. package/test-env/components/page_template/page_template.js +8 -2
  289. package/test-env/components/provider/provider.js +2 -1
  290. package/test-env/components/search_bar/search_bar.js +9 -4
  291. package/test-env/components/selectable/selectable.js +7 -2
  292. package/test-env/services/string/to_initials.js +26 -4
  293. package/es/components/flyout/flyout_child.js +0 -223
  294. package/es/components/flyout/flyout_child.styles.js +0 -32
  295. package/es/components/flyout/flyout_child_manager.js +0 -114
  296. package/es/components/flyout/sessions/flyout_provider.js +0 -95
  297. package/es/components/flyout/sessions/flyout_reducer.js +0 -195
  298. package/es/components/flyout/sessions/index.js +0 -10
  299. package/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  300. package/lib/components/flyout/flyout_child.js +0 -231
  301. package/lib/components/flyout/flyout_child.styles.js +0 -38
  302. package/lib/components/flyout/flyout_child_manager.js +0 -122
  303. package/lib/components/flyout/sessions/flyout_provider.js +0 -102
  304. package/lib/components/flyout/sessions/flyout_reducer.js +0 -202
  305. package/lib/components/flyout/sessions/index.js +0 -25
  306. package/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  307. package/optimize/es/components/flyout/flyout_child.js +0 -178
  308. package/optimize/es/components/flyout/flyout_child.styles.js +0 -32
  309. package/optimize/es/components/flyout/flyout_child_manager.js +0 -100
  310. package/optimize/es/components/flyout/sessions/flyout_provider.js +0 -90
  311. package/optimize/es/components/flyout/sessions/flyout_reducer.js +0 -187
  312. package/optimize/es/components/flyout/sessions/index.js +0 -10
  313. package/optimize/es/components/flyout/sessions/use_eui_flyout.js +0 -82
  314. package/optimize/lib/components/flyout/flyout_child.js +0 -186
  315. package/optimize/lib/components/flyout/flyout_child.styles.js +0 -38
  316. package/optimize/lib/components/flyout/flyout_child_manager.js +0 -110
  317. package/optimize/lib/components/flyout/sessions/flyout_provider.js +0 -100
  318. package/optimize/lib/components/flyout/sessions/flyout_reducer.js +0 -195
  319. package/optimize/lib/components/flyout/sessions/index.js +0 -25
  320. package/optimize/lib/components/flyout/sessions/use_eui_flyout.js +0 -88
  321. package/test-env/components/flyout/flyout_child.js +0 -230
  322. package/test-env/components/flyout/flyout_child.styles.js +0 -38
  323. package/test-env/components/flyout/flyout_child_manager.js +0 -119
  324. package/test-env/components/flyout/sessions/flyout_provider.js +0 -100
  325. package/test-env/components/flyout/sessions/flyout_reducer.js +0 -195
  326. package/test-env/components/flyout/sessions/index.js +0 -25
  327. package/test-env/components/flyout/sessions/use_eui_flyout.js +0 -88
  328. /package/es/components/flyout/{sessions → manager}/types.js +0 -0
  329. /package/{optimize/es/components/flyout/sessions → es/components/flyout}/types.js +0 -0
  330. /package/lib/components/flyout/{sessions → manager}/types.js +0 -0
  331. /package/{optimize/lib/components/flyout/sessions → lib/components/flyout}/types.js +0 -0
  332. /package/{test-env/components/flyout/sessions → optimize/lib/components/flyout/manager}/types.js +0 -0
@@ -0,0 +1,241 @@
1
+ var _excluded = ["className", "title", "titleId", "hideTitle", "hideCloseButton", "historyItems", "showBackButton", "backButtonProps", "customActions"];
2
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
3
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
4
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
5
+ import PropTypes from "prop-types";
6
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
+ /*
13
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
14
+ * or more contributor license agreements. Licensed under the Elastic License
15
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
16
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
17
+ * Side Public License, v 1.
18
+ */
19
+
20
+ import classNames from 'classnames';
21
+ import React, { useContext, useState } from 'react';
22
+ import { useEuiMemoizedStyles } from '../../services';
23
+ import { EuiButtonEmpty, EuiButtonIcon } from '../button';
24
+ import { EuiFlexGroup, EuiFlexItem } from '../flex';
25
+ import { EuiListGroup, EuiListGroupItem } from '../list_group';
26
+ import { EuiPopover } from '../popover';
27
+ import { EuiTitle } from '../title';
28
+ import { EuiFlyoutCloseButton } from './_flyout_close_button';
29
+ import { euiFlyoutMenuStyles } from './flyout_menu.styles';
30
+ import { EuiFlyoutMenuContext } from './flyout_menu_context';
31
+ import { EuiI18n, useEuiI18n } from '../i18n';
32
+
33
+ /**
34
+ * History item for the flyout menu history popover
35
+ */
36
+
37
+ /**
38
+ * Custom action item for the flyout menu component
39
+ */
40
+
41
+ /**
42
+ * Props for EuiFlyoutMenu
43
+ */
44
+ import { jsx as ___EmotionJSX } from "@emotion/react";
45
+ var BackButton = function BackButton(props) {
46
+ return ___EmotionJSX(EuiButtonEmpty, _extends({
47
+ size: "xs",
48
+ color: "text",
49
+ iconType: "editorUndo"
50
+ }, props), ___EmotionJSX(EuiI18n, {
51
+ token: "euiFlyoutMenu.back",
52
+ default: "Back"
53
+ }));
54
+ };
55
+ var HistoryPopover = function HistoryPopover(_ref) {
56
+ var items = _ref.items;
57
+ var _useState = useState(false),
58
+ _useState2 = _slicedToArray(_useState, 2),
59
+ isPopoverOpen = _useState2[0],
60
+ setIsPopoverOpen = _useState2[1];
61
+ var handlePopoverButtonClick = function handlePopoverButtonClick() {
62
+ setIsPopoverOpen(!isPopoverOpen);
63
+ };
64
+ return ___EmotionJSX(EuiPopover, {
65
+ button: ___EmotionJSX(EuiButtonIcon, {
66
+ iconType: "arrowDown",
67
+ color: "text",
68
+ "aria-label": useEuiI18n('euiFlyoutMenu.history', 'History')
69
+ }),
70
+ isOpen: isPopoverOpen,
71
+ onClick: handlePopoverButtonClick,
72
+ closePopover: function closePopover() {
73
+ return setIsPopoverOpen(false);
74
+ },
75
+ panelPaddingSize: "xs",
76
+ anchorPosition: "downLeft"
77
+ }, ___EmotionJSX(EuiListGroup, {
78
+ gutterSize: "none"
79
+ }, items.map(function (item, index) {
80
+ return ___EmotionJSX(EuiListGroupItem, {
81
+ key: "history-item-".concat(index),
82
+ label: item.title,
83
+ size: "s",
84
+ onClick: function onClick() {
85
+ item.onClick();
86
+ setIsPopoverOpen(false);
87
+ }
88
+ }, item.title);
89
+ })));
90
+ };
91
+
92
+ /**
93
+ * The component for the top menu bar inside a flyout. Since this is a private
94
+ * component, rendering is controlled using the `flyoutMenuProps` prop on
95
+ * `EuiFlyout`. In managed session flyouts, the Flyout Manager controls a back
96
+ * button and history popover for navigating to different flyout sessions
97
+ * within the managed context.
98
+ *
99
+ * @private
100
+ */
101
+ export var EuiFlyoutMenu = function EuiFlyoutMenu(_ref2) {
102
+ var className = _ref2.className,
103
+ title = _ref2.title,
104
+ titleId = _ref2.titleId,
105
+ hideTitle = _ref2.hideTitle,
106
+ hideCloseButton = _ref2.hideCloseButton,
107
+ _ref2$historyItems = _ref2.historyItems,
108
+ historyItems = _ref2$historyItems === void 0 ? [] : _ref2$historyItems,
109
+ showBackButton = _ref2.showBackButton,
110
+ backButtonProps = _ref2.backButtonProps,
111
+ customActions = _ref2.customActions,
112
+ rest = _objectWithoutProperties(_ref2, _excluded);
113
+ var _useContext = useContext(EuiFlyoutMenuContext),
114
+ onClose = _useContext.onClose;
115
+ var styles = useEuiMemoizedStyles(euiFlyoutMenuStyles);
116
+ var classes = classNames('euiFlyoutMenu', className);
117
+ var titleNode;
118
+ if (title) {
119
+ titleNode = ___EmotionJSX(EuiTitle, {
120
+ size: "xxs",
121
+ id: titleId
122
+ }, ___EmotionJSX("h3", {
123
+ css: hideTitle && styles.euiFlyoutMenu__hiddenTitle
124
+ }, title));
125
+ }
126
+ var handleClose = function handleClose(event) {
127
+ onClose === null || onClose === void 0 || onClose(event);
128
+ };
129
+ var closeButton = ___EmotionJSX(EuiFlyoutCloseButton, {
130
+ onClose: handleClose,
131
+ side: "right",
132
+ closeButtonPosition: "inside"
133
+ });
134
+ return ___EmotionJSX("div", _extends({
135
+ className: classes,
136
+ css: styles.euiFlyoutMenu__container
137
+ }, rest), ___EmotionJSX(EuiFlexGroup, {
138
+ alignItems: "center",
139
+ justifyContent: "spaceBetween",
140
+ gutterSize: "none",
141
+ responsive: false
142
+ }, showBackButton && ___EmotionJSX(EuiFlexItem, {
143
+ grow: false
144
+ }, ___EmotionJSX(BackButton, backButtonProps)), historyItems.length > 0 && ___EmotionJSX(EuiFlexItem, {
145
+ grow: false
146
+ }, ___EmotionJSX(HistoryPopover, {
147
+ items: historyItems
148
+ })), titleNode && ___EmotionJSX(EuiFlexItem, {
149
+ grow: false
150
+ }, titleNode), ___EmotionJSX(EuiFlexItem, {
151
+ grow: true
152
+ }), customActions && customActions.map(function (action, actionIndex) {
153
+ return ___EmotionJSX(EuiFlexItem, {
154
+ grow: false,
155
+ key: "action-index-flex-item-".concat(actionIndex),
156
+ css: styles.euiFlyoutMenu__actions
157
+ }, ___EmotionJSX(EuiButtonIcon, {
158
+ key: "action-index-icon-".concat(actionIndex),
159
+ "aria-label": action['aria-label'],
160
+ iconType: action.iconType,
161
+ onClick: action.onClick,
162
+ color: "text",
163
+ size: "s"
164
+ }));
165
+ }), !hideCloseButton && ___EmotionJSX(EuiFlexItem, {
166
+ grow: false,
167
+ css: styles.euiFlyoutMenu__spacer
168
+ })), !hideCloseButton && closeButton);
169
+ };
170
+ EuiFlyoutMenu.propTypes = {
171
+ className: PropTypes.string,
172
+ "aria-label": PropTypes.string,
173
+ "data-test-subj": PropTypes.string,
174
+ css: PropTypes.any,
175
+ /**
176
+ * An id to use for the title element. Useful for setting aria-labelledby on the flyout.
177
+ * Example:
178
+ * ```jsx
179
+ * <EuiFlyout
180
+ * aria-labelledby="myMenuTitleId"
181
+ * flyoutMenuProps={{ title: 'Menu title', titleId: 'myMenuTitleId' }
182
+ * >
183
+ * ...
184
+ * </EuiFlyout>
185
+ * ```
186
+ */
187
+ titleId: PropTypes.string,
188
+ /**
189
+ * Title for the menu component. In a managed flyout context, the title is used to indicate the flyout session for history navigation.
190
+ */
191
+ title: PropTypes.node,
192
+ /**
193
+ * Hides the title in the `EuiFlyoutMenu`. This is useful when the title is already shown in an `EuiFlyoutHeader`.
194
+ * @default true for main flyout in a managed flyout session; false otherwise
195
+ */
196
+ hideTitle: PropTypes.bool,
197
+ /**
198
+ * Hides the close button in the menu component
199
+ * @default false
200
+ */
201
+ hideCloseButton: PropTypes.bool,
202
+ /**
203
+ * Shows a back button in the menu component
204
+ * @default false
205
+ */
206
+ showBackButton: PropTypes.bool,
207
+ /**
208
+ * Props to pass to the back button, such as `onClick` handler
209
+ */
210
+ backButtonProps: PropTypes.any,
211
+ /**
212
+ * List of history items for the history popover
213
+ */
214
+ historyItems: PropTypes.arrayOf(PropTypes.shape({
215
+ /**
216
+ * Title for the history item
217
+ */
218
+ title: PropTypes.string.isRequired,
219
+ /**
220
+ * onClick handler for the history item
221
+ */
222
+ onClick: PropTypes.func.isRequired
223
+ }).isRequired),
224
+ /**
225
+ * List of custom action items for the menu component
226
+ */
227
+ customActions: PropTypes.arrayOf(PropTypes.shape({
228
+ /**
229
+ * Icon type for the action button
230
+ */
231
+ iconType: PropTypes.string.isRequired,
232
+ /**
233
+ * onClick handler for the action button
234
+ */
235
+ onClick: PropTypes.func.isRequired,
236
+ /**
237
+ * Aria label for the action button
238
+ */
239
+ "aria-label": PropTypes.string.isRequired
240
+ }).isRequired)
241
+ };
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { euiScreenReaderOnly } from '../accessibility';
11
+ export var euiFlyoutMenuStyles = function euiFlyoutMenuStyles(euiThemeContext) {
12
+ var euiTheme = euiThemeContext.euiTheme;
13
+ return {
14
+ euiFlyoutMenu__container: /*#__PURE__*/css("block-size:calc(", euiTheme.size.m, " * 3.5);flex-shrink:0;padding-block:", euiTheme.size.s, ";padding-inline:", euiTheme.size.s, ";border-block-end:", euiTheme.border.width.thin, " solid ", euiTheme.border.color, ";padding-block-start:calc(", euiTheme.size.m, " * 0.8);.euiTitle{padding-inline:", euiTheme.size.s, ";};label:euiFlyoutMenu__container;"),
15
+ euiFlyoutMenu__spacer: /*#__PURE__*/css("padding-inline:", euiTheme.size.m, ";;label:euiFlyoutMenu__spacer;"),
16
+ euiFlyoutMenu__actions: /*#__PURE__*/css("block-size:calc(", euiTheme.size.m, " * 1.8);;label:euiFlyoutMenu__actions;"),
17
+ euiFlyoutMenu__hiddenTitle: /*#__PURE__*/css(euiScreenReaderOnly(), ";;label:euiFlyoutMenu__hiddenTitle;")
18
+ };
19
+ };
@@ -7,10 +7,4 @@
7
7
  */
8
8
 
9
9
  import { createContext } from 'react';
10
-
11
- /**
12
- * Context shared between the main and child flyouts
13
- * @internal
14
- */
15
-
16
- export var EuiFlyoutContext = /*#__PURE__*/createContext(null);
10
+ export var EuiFlyoutMenuContext = /*#__PURE__*/createContext({});
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import React, { createContext, useContext } from 'react';
10
+
11
+ /**
12
+ * Context to track if we're inside a parent flyout's children.
13
+ * This allows nested flyouts to automatically inherit the session
14
+ * without requiring explicit `session="inherit"` prop.
15
+ */
16
+ import { jsx as ___EmotionJSX } from "@emotion/react";
17
+ var EuiFlyoutParentContext = /*#__PURE__*/createContext(false);
18
+
19
+ /**
20
+ * Provider that wraps a flyout's children to indicate they're inside a parent flyout.
21
+ * Nested flyouts can use this to automatically default to session inheritance.
22
+ */
23
+ export var EuiFlyoutParentProvider = function EuiFlyoutParentProvider(_ref) {
24
+ var children = _ref.children;
25
+ return ___EmotionJSX(EuiFlyoutParentContext.Provider, {
26
+ value: true
27
+ }, children);
28
+ };
29
+
30
+ /**
31
+ * Hook that returns `true` when called within a parent flyout's children.
32
+ * Used to automatically determine if a nested flyout should inherit the session.
33
+ */
34
+ export var useIsInsideParentFlyout = function useIsInsideParentFlyout() {
35
+ return useContext(EuiFlyoutParentContext);
36
+ };
@@ -1,13 +1,4 @@
1
- var _excluded = ["size", "maxWidth", "minWidth", "onResize", "side", "type", "ownFocus", "children"];
2
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
6
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
9
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
10
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
11
2
  /*
12
3
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
4
  * or more contributor license agreements. Licensed under the Elastic License
@@ -16,144 +7,42 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
16
7
  * Side Public License, v 1.
17
8
  */
18
9
 
19
- import React, { forwardRef, useState, useEffect, useRef, useMemo, useCallback } from 'react';
20
- import { keys, useCombinedRefs, useEuiMemoizedStyles } from '../../services';
21
- import { EuiResizableButton } from '../resizable_container';
22
- import { getPosition } from '../resizable_container/helpers';
10
+ import React, { forwardRef } from 'react';
11
+ import PropTypes from "prop-types";
23
12
  import { EuiFlyout } from './flyout';
24
- import { euiFlyoutResizableButtonStyles } from './flyout_resizable.styles';
25
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
14
  // If not omitted, the correct props don't show up in the docs prop table
27
15
 
28
- export var EuiFlyoutResizable = /*#__PURE__*/forwardRef(function (_ref, ref) {
29
- var size = _ref.size,
30
- maxWidth = _ref.maxWidth,
31
- _ref$minWidth = _ref.minWidth,
32
- minWidth = _ref$minWidth === void 0 ? 200 : _ref$minWidth,
33
- onResize = _ref.onResize,
34
- _ref$side = _ref.side,
35
- side = _ref$side === void 0 ? 'right' : _ref$side,
36
- _ref$type = _ref.type,
37
- type = _ref$type === void 0 ? 'overlay' : _ref$type,
38
- _ref$ownFocus = _ref.ownFocus,
39
- ownFocus = _ref$ownFocus === void 0 ? true : _ref$ownFocus,
40
- children = _ref.children,
41
- rest = _objectWithoutProperties(_ref, _excluded);
42
- var hasOverlay = type === 'overlay' && ownFocus;
43
- var styles = useEuiMemoizedStyles(euiFlyoutResizableButtonStyles);
44
- var cssStyles = [styles.euiFlyoutResizableButton, styles[type][side], !hasOverlay && styles.noOverlay.noOverlay, !hasOverlay && styles.noOverlay[side]];
45
- var getFlyoutMinMaxWidth = useCallback(function (width) {
46
- return Math.min(Math.max(width, minWidth), maxWidth || Infinity, window.innerWidth - 20 // Leave some offset
47
- );
48
- }, [minWidth, maxWidth]);
49
- var _useState = useState(0),
50
- _useState2 = _slicedToArray(_useState, 2),
51
- flyoutWidth = _useState2[0],
52
- setFlyoutWidth = _useState2[1];
53
- var _useState3 = useState(false),
54
- _useState4 = _slicedToArray(_useState3, 2),
55
- callOnResize = _useState4[0],
56
- setCallOnResize = _useState4[1];
57
-
58
- // Must use state for the flyout ref in order for the useEffect to be correctly called after render
59
- var _useState5 = useState(null),
60
- _useState6 = _slicedToArray(_useState5, 2),
61
- flyoutRef = _useState6[0],
62
- setFlyoutRef = _useState6[1];
63
- var setRefs = useCombinedRefs([setFlyoutRef, ref]);
64
- useEffect(function () {
65
- if (!flyoutWidth && flyoutRef) {
66
- setCallOnResize(false); // Don't call `onResize` for non-user width changes
67
- setFlyoutWidth(getFlyoutMinMaxWidth(flyoutRef.offsetWidth));
68
- }
69
- }, [flyoutWidth, flyoutRef, getFlyoutMinMaxWidth]);
70
-
71
- // Update flyout width when consumers pass in a new `size`
72
- useEffect(function () {
73
- setCallOnResize(false);
74
- // For string `size`s, resetting flyoutWidth to 0 will trigger the above useEffect's recalculation
75
- setFlyoutWidth(typeof size === 'number' ? getFlyoutMinMaxWidth(size) : 0);
76
- }, [size, getFlyoutMinMaxWidth]);
77
-
78
- // Initial numbers to calculate from, on resize drag start
79
- var initialWidth = useRef(0);
80
- var initialMouseX = useRef(0);
81
-
82
- // Account for flyout side and logical property direction
83
- var direction = useMemo(function () {
84
- var modifier = side === 'right' ? -1 : 1;
85
- if (flyoutRef) {
86
- var languageDirection = window.getComputedStyle(flyoutRef).direction;
87
- if (languageDirection === 'rtl') modifier *= -1;
88
- }
89
- return modifier;
90
- }, [side, flyoutRef]);
91
- var onMouseMove = useCallback(function (e) {
92
- var mouseOffset = getPosition(e, true) - initialMouseX.current;
93
- var changedFlyoutWidth = initialWidth.current + mouseOffset * direction;
94
- setFlyoutWidth(getFlyoutMinMaxWidth(changedFlyoutWidth));
95
- }, [getFlyoutMinMaxWidth, direction]);
96
- var onMouseUp = useCallback(function () {
97
- setCallOnResize(true);
98
- initialMouseX.current = 0;
99
- window.removeEventListener('mousemove', onMouseMove);
100
- window.removeEventListener('mouseup', onMouseUp);
101
- window.removeEventListener('touchmove', onMouseMove);
102
- window.removeEventListener('touchend', onMouseUp);
103
- }, [onMouseMove]);
104
- var onMouseDown = useCallback(function (e) {
105
- var _flyoutRef$offsetWidt;
106
- setCallOnResize(false);
107
- initialMouseX.current = getPosition(e, true);
108
- initialWidth.current = (_flyoutRef$offsetWidt = flyoutRef === null || flyoutRef === void 0 ? void 0 : flyoutRef.offsetWidth) !== null && _flyoutRef$offsetWidt !== void 0 ? _flyoutRef$offsetWidt : 0;
109
-
110
- // Window event listeners instead of React events are used
111
- // in case the user's mouse leaves the component
112
- window.addEventListener('mousemove', onMouseMove);
113
- window.addEventListener('mouseup', onMouseUp);
114
- window.addEventListener('touchmove', onMouseMove);
115
- window.addEventListener('touchend', onMouseUp);
116
- }, [flyoutRef, onMouseMove, onMouseUp]);
117
- var onKeyDown = useCallback(function (e) {
118
- setCallOnResize(true);
119
- var KEYBOARD_OFFSET = 10;
120
- switch (e.key) {
121
- case keys.ARROW_RIGHT:
122
- e.preventDefault(); // Safari+VO will screen reader navigate off the button otherwise
123
- setFlyoutWidth(function (flyoutWidth) {
124
- return getFlyoutMinMaxWidth(flyoutWidth + KEYBOARD_OFFSET * direction);
125
- });
126
- break;
127
- case keys.ARROW_LEFT:
128
- e.preventDefault(); // Safari+VO will screen reader navigate off the button otherwise
129
- setFlyoutWidth(function (flyoutWidth) {
130
- return getFlyoutMinMaxWidth(flyoutWidth - KEYBOARD_OFFSET * direction);
131
- });
132
- }
133
- }, [getFlyoutMinMaxWidth, direction]);
134
-
135
- // To reduce unnecessary calls, only fire onResize callback:
136
- // 1. After initial mount / on user width change events only
137
- // 2. If not currently mouse dragging
138
- useEffect(function () {
139
- if (callOnResize) {
140
- onResize === null || onResize === void 0 || onResize(flyoutWidth);
141
- }
142
- }, [onResize, callOnResize, flyoutWidth]);
143
- return ___EmotionJSX(EuiFlyout, _extends({}, rest, {
144
- size: flyoutWidth || size,
145
- maxWidth: maxWidth,
146
- side: side,
147
- type: type,
148
- ownFocus: ownFocus,
149
- ref: setRefs
150
- }), ___EmotionJSX(EuiResizableButton, {
151
- isHorizontal: true,
152
- indicator: "border",
153
- css: cssStyles,
154
- onMouseDown: onMouseDown,
155
- onTouchStart: onMouseDown,
156
- onKeyDown: onKeyDown
157
- }), children);
16
+ export var EuiFlyoutResizable = /*#__PURE__*/forwardRef(function (props, ref) {
17
+ return ___EmotionJSX(EuiFlyout, _extends({
18
+ ref: ref
19
+ }, props, {
20
+ resizable: true
21
+ }));
158
22
  });
23
+ EuiFlyoutResizable.propTypes = {
24
+ maxWidth: PropTypes.number,
25
+ /**
26
+ * Controls the way the session is managed for this flyout.
27
+ * - `start`: Creates a new flyout session. Use this for the main flyout.
28
+ * - `inherit`: Inherits an existing session if one is active, otherwise functions as a standard flyout.
29
+ * - `never`: Disregards session management and always functions as a standard flyout.
30
+ *
31
+ * When the `session` prop is undefined (not set), the flyout will automatically inherit from
32
+ * a parent flyout if it's nested inside one. Otherwise, it defaults to `never`.
33
+ *
34
+ * Check out [EuiFlyout session management](https://eui.elastic.co/docs/components/containers/flyout/session-management)
35
+ * documentation to learn more.
36
+ * @default undefined (auto-inherit when nested, otherwise 'never')
37
+ */
38
+ session: PropTypes.oneOfType([PropTypes.any.isRequired, PropTypes.any.isRequired, PropTypes.any.isRequired]),
39
+ /**
40
+ * Callback fired when the flyout becomes active/visible, which may happen programmatically from history navigation.
41
+ */
42
+ onActive: PropTypes.func,
43
+ /**
44
+ * The HTML element to render as the flyout container.
45
+ */
46
+ as: PropTypes.any
47
+ };
159
48
  EuiFlyoutResizable.displayName = 'EuiFlyoutResizable';
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { useIsWithinMinBreakpoint } from '../../services';
10
+ import { usePropsWithComponentDefaults } from '../provider/component_defaults';
11
+ import { DEFAULT_PUSH_MIN_BREAKPOINT, DEFAULT_TYPE } from './const';
12
+
13
+ /**
14
+ * Determines if a flyout should be rendered in a "pushed" state based on its
15
+ * configuration and the current window size.
16
+ */
17
+ export var useIsPushed = function useIsPushed(props) {
18
+ var _usePropsWithComponen = usePropsWithComponentDefaults('EuiFlyout', props),
19
+ _usePropsWithComponen2 = _usePropsWithComponen.type,
20
+ type = _usePropsWithComponen2 === void 0 ? DEFAULT_TYPE : _usePropsWithComponen2,
21
+ _usePropsWithComponen3 = _usePropsWithComponen.pushMinBreakpoint,
22
+ pushMinBreakpoint = _usePropsWithComponen3 === void 0 ? DEFAULT_PUSH_MIN_BREAKPOINT : _usePropsWithComponen3;
23
+ var windowIsLargeEnoughToPush = useIsWithinMinBreakpoint(pushMinBreakpoint);
24
+ return type === 'push' && windowIsLargeEnoughToPush;
25
+ };
@@ -12,5 +12,8 @@ export { EuiFlyoutFooter } from './flyout_footer';
12
12
  export { EuiFlyoutHeader } from './flyout_header';
13
13
  export { euiFlyoutSlideInRight, euiFlyoutSlideInLeft } from './flyout.styles';
14
14
  export { EuiFlyoutResizable } from './flyout_resizable';
15
- export { EuiFlyoutChild } from './flyout_child';
16
- export { EuiFlyoutSessionProvider, useEuiFlyoutSession } from './sessions';
15
+ export { EuiFlyoutMenu } from './flyout_menu';
16
+
17
+ // Hooks for using Manager-based flyouts
18
+ export { useIsInManagedFlyout, useHasActiveSession } from './manager';
19
+ export { useIsInsideParentFlyout } from './flyout_parent_context';