@elastic/eui 86.0.0 → 87.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 (337) hide show
  1. package/dist/eui_charts_theme.js +7589 -7237
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +0 -182
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +0 -182
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/basic_table/basic_table.js +49 -34
  8. package/es/components/basic_table/in_memory_table.js +30 -11
  9. package/es/components/basic_table/pagination_bar.js +16 -11
  10. package/es/components/bottom_bar/bottom_bar.js +9 -2
  11. package/es/components/breadcrumbs/breadcrumb.js +220 -42
  12. package/es/components/breadcrumbs/breadcrumbs.js +163 -2
  13. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +193 -12
  14. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +17 -2
  15. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +70 -0
  16. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +32 -0
  17. package/es/components/collapsible_nav_beta/collapsible_nav_button/index.js +9 -0
  18. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +137 -0
  19. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +39 -0
  20. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +111 -0
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +184 -0
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +38 -0
  23. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +9 -0
  24. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  25. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +23 -14
  26. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  27. package/es/components/collapsible_nav_beta/context.js +14 -0
  28. package/es/components/control_bar/control_bar.js +163 -2
  29. package/es/components/datagrid/body/data_grid_body.js +17 -31
  30. package/es/components/datagrid/body/data_grid_body_custom.js +17 -31
  31. package/es/components/datagrid/body/data_grid_body_virtualized.js +17 -31
  32. package/es/components/datagrid/body/data_grid_cell.js +30 -62
  33. package/es/components/datagrid/body/header/data_grid_header_cell.js +16 -6
  34. package/es/components/datagrid/body/header/data_grid_header_row.js +16 -6
  35. package/es/components/datagrid/data_grid.js +32 -10
  36. package/es/components/datagrid/utils/data_grid_pagination.js +9 -6
  37. package/es/components/datagrid/utils/in_memory.js +16 -6
  38. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  39. package/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  40. package/es/components/date_picker/super_date_picker/super_date_picker.js +8 -2
  41. package/es/components/date_picker/super_date_picker/super_update_button.js +4 -1
  42. package/es/components/filter_group/filter_group.a11y.js +2 -2
  43. package/es/components/focus_trap/focus_trap.js +91 -13
  44. package/es/components/header/header.a11y.js +1 -5
  45. package/es/components/header/header.js +4 -9
  46. package/es/components/header/header.styles.js +6 -4
  47. package/es/components/header/header_alert/header_alert.js +14 -6
  48. package/es/components/header/header_alert/header_alert.styles.js +21 -0
  49. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +163 -2
  50. package/es/components/header/header_links/header_links.js +12 -16
  51. package/es/components/header/header_links/header_links.styles.js +41 -0
  52. package/es/components/header/header_section/header_section.js +7 -11
  53. package/es/components/header/header_section/header_section.styles.js +38 -0
  54. package/es/components/header/header_section/header_section_item.js +12 -16
  55. package/es/components/header/header_section/header_section_item.styles.js +16 -0
  56. package/es/components/header/header_section/header_section_item_button.js +9 -2
  57. package/es/components/header/header_section/header_section_item_button.styles.js +44 -0
  58. package/es/components/list_group/list_group.js +6 -1
  59. package/es/components/list_group/list_group_item.js +25 -9
  60. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +11 -1
  61. package/es/components/page/page_header/page_header_content.js +163 -2
  62. package/es/components/page/page_template.js +8 -1
  63. package/es/components/page_template/page_template.js +1 -1
  64. package/es/components/portal/portal.js +44 -14
  65. package/es/components/provider/component_defaults/component_defaults.js +73 -0
  66. package/es/components/provider/component_defaults/index.js +9 -0
  67. package/es/components/provider/index.js +2 -1
  68. package/es/components/provider/provider.js +5 -1
  69. package/es/components/steps/step.styles.js +2 -1
  70. package/es/components/steps/step_horizontal.styles.js +2 -1
  71. package/es/components/steps/step_number.styles.js +3 -2
  72. package/es/components/table/table_pagination/index.js +4 -1
  73. package/es/components/table/table_pagination/table_pagination.js +24 -15
  74. package/es/components/table/table_pagination/table_pagination_defaults.js +32 -0
  75. package/es/components/tool_tip/icon_tip.js +6 -4
  76. package/es/components/tool_tip/tool_tip.js +4 -1
  77. package/es/components/tour/tour_step.js +0 -4
  78. package/eui.d.ts +2393 -2111
  79. package/i18ntokens.json +142 -88
  80. package/lib/components/basic_table/basic_table.js +49 -34
  81. package/lib/components/basic_table/in_memory_table.js +31 -12
  82. package/lib/components/basic_table/pagination_bar.js +18 -14
  83. package/lib/components/bottom_bar/bottom_bar.js +9 -2
  84. package/lib/components/breadcrumbs/breadcrumb.js +220 -42
  85. package/lib/components/breadcrumbs/breadcrumbs.js +14 -2
  86. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +203 -17
  87. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +22 -9
  88. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +80 -0
  89. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +37 -0
  90. package/lib/components/collapsible_nav_beta/collapsible_nav_button/index.js +12 -0
  91. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +147 -0
  92. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +45 -0
  93. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +117 -0
  94. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +194 -0
  95. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +44 -0
  96. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +12 -0
  97. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  98. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +26 -14
  99. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  100. package/lib/components/collapsible_nav_beta/context.js +21 -0
  101. package/lib/components/control_bar/control_bar.js +14 -2
  102. package/lib/components/datagrid/body/data_grid_body.js +17 -31
  103. package/lib/components/datagrid/body/data_grid_body_custom.js +17 -31
  104. package/lib/components/datagrid/body/data_grid_body_virtualized.js +17 -31
  105. package/lib/components/datagrid/body/data_grid_cell.js +30 -62
  106. package/lib/components/datagrid/body/header/data_grid_header_cell.js +16 -6
  107. package/lib/components/datagrid/body/header/data_grid_header_row.js +16 -6
  108. package/lib/components/datagrid/data_grid.js +32 -10
  109. package/lib/components/datagrid/utils/data_grid_pagination.js +8 -5
  110. package/lib/components/datagrid/utils/in_memory.js +16 -6
  111. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  112. package/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  113. package/lib/components/date_picker/super_date_picker/super_date_picker.js +8 -2
  114. package/lib/components/date_picker/super_date_picker/super_update_button.js +4 -1
  115. package/lib/components/empty_prompt/empty_prompt.js +4 -4
  116. package/lib/components/filter_group/filter_group.a11y.js +2 -2
  117. package/lib/components/focus_trap/focus_trap.js +92 -14
  118. package/lib/components/header/header.a11y.js +1 -5
  119. package/lib/components/header/header.js +4 -9
  120. package/lib/components/header/header.styles.js +6 -4
  121. package/lib/components/header/header_alert/header_alert.js +13 -5
  122. package/lib/components/header/header_alert/header_alert.styles.js +28 -0
  123. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +14 -2
  124. package/lib/components/header/header_links/header_links.js +13 -166
  125. package/lib/components/header/header_links/header_links.styles.js +46 -0
  126. package/lib/components/header/header_section/header_section.js +7 -11
  127. package/lib/components/header/header_section/header_section.styles.js +43 -0
  128. package/lib/components/header/header_section/header_section_item.js +12 -16
  129. package/lib/components/header/header_section/header_section_item.styles.js +23 -0
  130. package/lib/components/header/header_section/header_section_item_button.js +9 -2
  131. package/lib/components/header/header_section/header_section_item_button.styles.js +49 -0
  132. package/lib/components/list_group/list_group.js +6 -1
  133. package/lib/components/list_group/list_group_item.js +24 -9
  134. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +11 -1
  135. package/lib/components/page/page_header/page_header_content.js +14 -2
  136. package/lib/components/page/page_template.js +8 -1
  137. package/lib/components/page_template/page_template.js +1 -1
  138. package/lib/components/portal/portal.js +48 -17
  139. package/lib/components/provider/component_defaults/component_defaults.js +83 -0
  140. package/lib/components/provider/component_defaults/index.js +16 -0
  141. package/lib/components/provider/index.js +14 -1
  142. package/lib/components/provider/provider.js +5 -1
  143. package/lib/components/steps/step.styles.js +2 -1
  144. package/lib/components/steps/step_horizontal.styles.js +2 -1
  145. package/lib/components/steps/step_number.styles.js +3 -2
  146. package/lib/components/table/table_pagination/index.js +14 -1
  147. package/lib/components/table/table_pagination/table_pagination.js +24 -15
  148. package/lib/components/table/table_pagination/table_pagination_defaults.js +38 -0
  149. package/lib/components/tool_tip/icon_tip.js +6 -4
  150. package/lib/components/tool_tip/tool_tip.js +5 -2
  151. package/optimize/es/components/basic_table/basic_table.js +41 -32
  152. package/optimize/es/components/basic_table/in_memory_table.js +14 -10
  153. package/optimize/es/components/basic_table/pagination_bar.js +16 -11
  154. package/optimize/es/components/breadcrumbs/breadcrumb.js +58 -41
  155. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +150 -12
  156. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +17 -2
  157. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +62 -0
  158. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +32 -0
  159. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/index.js +9 -0
  160. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +61 -0
  161. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +39 -0
  162. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +36 -0
  163. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +98 -0
  164. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +38 -0
  165. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +9 -0
  166. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  167. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +23 -14
  168. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  169. package/optimize/es/components/collapsible_nav_beta/context.js +14 -0
  170. package/optimize/es/components/datagrid/data_grid.js +9 -1
  171. package/optimize/es/components/datagrid/utils/data_grid_pagination.js +9 -6
  172. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  173. package/optimize/es/components/filter_group/filter_group.a11y.js +2 -2
  174. package/optimize/es/components/focus_trap/focus_trap.js +13 -8
  175. package/optimize/es/components/header/header.a11y.js +1 -5
  176. package/optimize/es/components/header/header.js +4 -5
  177. package/optimize/es/components/header/header.styles.js +6 -4
  178. package/optimize/es/components/header/header_alert/header_alert.js +14 -6
  179. package/optimize/es/components/header/header_alert/header_alert.styles.js +21 -0
  180. package/optimize/es/components/header/header_links/header_links.js +11 -11
  181. package/optimize/es/components/header/header_links/header_links.styles.js +41 -0
  182. package/optimize/es/components/header/header_section/header_section.js +7 -11
  183. package/optimize/es/components/header/header_section/header_section.styles.js +38 -0
  184. package/optimize/es/components/header/header_section/header_section_item.js +12 -11
  185. package/optimize/es/components/header/header_section/header_section_item.styles.js +16 -0
  186. package/optimize/es/components/header/header_section/header_section_item_button.js +9 -2
  187. package/optimize/es/components/header/header_section/header_section_item_button.styles.js +44 -0
  188. package/optimize/es/components/list_group/list_group_item.js +16 -8
  189. package/optimize/es/components/page_template/page_template.js +1 -1
  190. package/optimize/es/components/portal/portal.js +17 -12
  191. package/optimize/es/components/provider/component_defaults/component_defaults.js +50 -0
  192. package/optimize/es/components/provider/component_defaults/index.js +9 -0
  193. package/optimize/es/components/provider/index.js +2 -1
  194. package/optimize/es/components/provider/provider.js +5 -1
  195. package/optimize/es/components/steps/step.styles.js +2 -1
  196. package/optimize/es/components/steps/step_horizontal.styles.js +2 -1
  197. package/optimize/es/components/steps/step_number.styles.js +3 -2
  198. package/optimize/es/components/table/table_pagination/index.js +4 -1
  199. package/optimize/es/components/table/table_pagination/table_pagination.js +18 -15
  200. package/optimize/es/components/table/table_pagination/table_pagination_defaults.js +29 -0
  201. package/optimize/lib/components/basic_table/basic_table.js +41 -32
  202. package/optimize/lib/components/basic_table/in_memory_table.js +21 -17
  203. package/optimize/lib/components/basic_table/pagination_bar.js +18 -14
  204. package/optimize/lib/components/breadcrumbs/breadcrumb.js +58 -41
  205. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +152 -11
  206. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +22 -9
  207. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +72 -0
  208. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +37 -0
  209. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/index.js +12 -0
  210. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +71 -0
  211. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +45 -0
  212. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +42 -0
  213. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +108 -0
  214. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +44 -0
  215. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +12 -0
  216. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  217. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +26 -14
  218. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  219. package/optimize/lib/components/collapsible_nav_beta/context.js +21 -0
  220. package/optimize/lib/components/datagrid/data_grid.js +9 -1
  221. package/optimize/lib/components/datagrid/utils/data_grid_pagination.js +8 -5
  222. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  223. package/optimize/lib/components/filter_group/filter_group.a11y.js +2 -2
  224. package/optimize/lib/components/focus_trap/focus_trap.js +14 -9
  225. package/optimize/lib/components/header/header.a11y.js +1 -5
  226. package/optimize/lib/components/header/header.js +4 -5
  227. package/optimize/lib/components/header/header.styles.js +6 -4
  228. package/optimize/lib/components/header/header_alert/header_alert.js +13 -5
  229. package/optimize/lib/components/header/header_alert/header_alert.styles.js +28 -0
  230. package/optimize/lib/components/header/header_links/header_links.js +11 -11
  231. package/optimize/lib/components/header/header_links/header_links.styles.js +46 -0
  232. package/optimize/lib/components/header/header_section/header_section.js +7 -11
  233. package/optimize/lib/components/header/header_section/header_section.styles.js +43 -0
  234. package/optimize/lib/components/header/header_section/header_section_item.js +12 -11
  235. package/optimize/lib/components/header/header_section/header_section_item.styles.js +23 -0
  236. package/optimize/lib/components/header/header_section/header_section_item_button.js +9 -2
  237. package/optimize/lib/components/header/header_section/header_section_item_button.styles.js +49 -0
  238. package/optimize/lib/components/list_group/list_group_item.js +16 -8
  239. package/optimize/lib/components/page_template/page_template.js +1 -1
  240. package/optimize/lib/components/portal/portal.js +22 -15
  241. package/optimize/lib/components/provider/component_defaults/component_defaults.js +61 -0
  242. package/optimize/lib/components/provider/component_defaults/index.js +16 -0
  243. package/optimize/lib/components/provider/index.js +14 -1
  244. package/optimize/lib/components/provider/provider.js +5 -1
  245. package/optimize/lib/components/steps/step.styles.js +2 -1
  246. package/optimize/lib/components/steps/step_horizontal.styles.js +2 -1
  247. package/optimize/lib/components/steps/step_number.styles.js +3 -2
  248. package/optimize/lib/components/table/table_pagination/index.js +14 -1
  249. package/optimize/lib/components/table/table_pagination/table_pagination.js +18 -15
  250. package/optimize/lib/components/table/table_pagination/table_pagination_defaults.js +36 -0
  251. package/package.json +7 -7
  252. package/src/components/index.scss +0 -1
  253. package/src/global_styling/variables/_header.scss +0 -6
  254. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  255. package/test-env/components/basic_table/basic_table.js +49 -34
  256. package/test-env/components/basic_table/in_memory_table.js +37 -18
  257. package/test-env/components/basic_table/pagination_bar.js +18 -14
  258. package/test-env/components/bottom_bar/bottom_bar.js +9 -2
  259. package/test-env/components/breadcrumbs/breadcrumb.js +220 -42
  260. package/test-env/components/breadcrumbs/breadcrumbs.js +14 -2
  261. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +184 -12
  262. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +22 -9
  263. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +79 -0
  264. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.styles.js +37 -0
  265. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/index.js +12 -0
  266. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +146 -0
  267. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.styles.js +45 -0
  268. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +116 -0
  269. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +188 -0
  270. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.styles.js +44 -0
  271. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/index.js +12 -0
  272. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  273. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +26 -14
  274. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +4 -4
  275. package/test-env/components/collapsible_nav_beta/context.js +21 -0
  276. package/test-env/components/control_bar/control_bar.js +14 -2
  277. package/test-env/components/datagrid/body/data_grid_body.js +17 -31
  278. package/test-env/components/datagrid/body/data_grid_body_custom.js +17 -31
  279. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +17 -31
  280. package/test-env/components/datagrid/body/data_grid_cell.js +30 -62
  281. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +16 -6
  282. package/test-env/components/datagrid/body/header/data_grid_header_row.js +16 -6
  283. package/test-env/components/datagrid/data_grid.js +32 -10
  284. package/test-env/components/datagrid/utils/data_grid_pagination.js +8 -5
  285. package/test-env/components/datagrid/utils/in_memory.js +16 -6
  286. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  287. package/test-env/components/date_picker/super_date_picker/super_date_picker.a11y.js +1 -1
  288. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +8 -2
  289. package/test-env/components/date_picker/super_date_picker/super_update_button.js +4 -1
  290. package/test-env/components/empty_prompt/empty_prompt.js +4 -4
  291. package/test-env/components/filter_group/filter_group.a11y.js +2 -2
  292. package/test-env/components/header/header.a11y.js +1 -5
  293. package/test-env/components/header/header.js +4 -9
  294. package/test-env/components/header/header.styles.js +6 -4
  295. package/test-env/components/header/header_alert/header_alert.js +13 -5
  296. package/test-env/components/header/header_alert/header_alert.styles.js +28 -0
  297. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +14 -2
  298. package/test-env/components/header/header_links/header_links.js +13 -166
  299. package/test-env/components/header/header_links/header_links.styles.js +46 -0
  300. package/test-env/components/header/header_section/header_section.js +7 -11
  301. package/test-env/components/header/header_section/header_section.styles.js +43 -0
  302. package/test-env/components/header/header_section/header_section_item.js +12 -16
  303. package/test-env/components/header/header_section/header_section_item.styles.js +23 -0
  304. package/test-env/components/header/header_section/header_section_item_button.js +9 -2
  305. package/test-env/components/header/header_section/header_section_item_button.styles.js +49 -0
  306. package/test-env/components/list_group/list_group.js +6 -1
  307. package/test-env/components/list_group/list_group_item.js +22 -9
  308. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +11 -1
  309. package/test-env/components/page/page_header/page_header_content.js +14 -2
  310. package/test-env/components/page/page_template.js +8 -1
  311. package/test-env/components/page_template/page_template.js +1 -1
  312. package/test-env/components/portal/portal.js +49 -17
  313. package/test-env/components/provider/component_defaults/component_defaults.js +81 -0
  314. package/test-env/components/provider/component_defaults/index.js +16 -0
  315. package/test-env/components/provider/index.js +14 -1
  316. package/test-env/components/provider/provider.js +5 -1
  317. package/test-env/components/steps/step.styles.js +2 -1
  318. package/test-env/components/steps/step_horizontal.styles.js +2 -1
  319. package/test-env/components/steps/step_number.styles.js +3 -2
  320. package/test-env/components/table/table_pagination/index.js +14 -1
  321. package/test-env/components/table/table_pagination/table_pagination.js +24 -15
  322. package/test-env/components/table/table_pagination/table_pagination_defaults.js +36 -0
  323. package/test-env/components/tool_tip/icon_tip.js +6 -4
  324. package/test-env/components/tool_tip/tool_tip.js +5 -2
  325. package/src/components/header/_index.scss +0 -3
  326. package/src/components/header/header_alert/_header_alert.scss +0 -40
  327. package/src/components/header/header_alert/_index.scss +0 -1
  328. package/src/components/header/header_links/_header_link.scss +0 -13
  329. package/src/components/header/header_links/_header_links.scss +0 -16
  330. package/src/components/header/header_links/_index.scss +0 -4
  331. package/src/components/header/header_links/_variables.scss +0 -6
  332. package/src/components/header/header_section/_header_section.scss +0 -14
  333. package/src/components/header/header_section/_header_section_item.scss +0 -44
  334. package/src/components/header/header_section/_header_section_item_button.scss +0 -40
  335. package/src/components/header/header_section/_index.scss +0 -3
  336. package/src/components/portal/__snapshots__/_index.scss +0 -1
  337. package/src/themes/amsterdam/overrides/_header.scss +0 -4
@@ -4,26 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.EuiInMemoryTable = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _basic_table = require("./basic_table");
10
- var _pagination_bar = require("./pagination_bar");
11
10
  var _predicate = require("../../services/predicate");
12
11
  var _sort2 = require("../../services/sort");
13
12
  var _search_bar = require("../search_bar");
14
13
  var _spacer = require("../spacer");
14
+ var _table_pagination = require("../table/table_pagination");
15
+ var _component_defaults = require("../provider/component_defaults");
15
16
  var _react2 = require("@emotion/react");
16
17
  var _excluded = ["onChange"],
17
18
  _excluded2 = ["columns", "loading", "message", "error", "selection", "isSelectable", "hasActions", "compressed", "pagination", "sorting", "itemIdToExpandedRowMap", "itemId", "rowProps", "cellProps", "tableLayout", "items", "search", "onTableChange", "executeQueryOptions", "allowNeutralSort", "childrenBetween"];
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
22
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
22
23
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
24
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
26
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
27
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
29
28
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -34,6 +33,8 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
34
33
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
35
34
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
36
35
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
38
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
38
39
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
39
40
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
@@ -55,7 +56,7 @@ var getQueryFromSearch = function getQueryFromSearch(search, defaultQuery) {
55
56
  }
56
57
  return (0, _predicate.isString)(query) ? _search_bar.EuiSearchBar.Query.parse(query) : query;
57
58
  };
58
- var getInitialPagination = function getInitialPagination(pagination) {
59
+ var getInitialPagination = function getInitialPagination(pagination, consumerDefaults) {
59
60
  var _ref2, _pagination$pageIndex, _ref3, _pagination$pageSize;
60
61
  if (!pagination) {
61
62
  return {
@@ -63,14 +64,16 @@ var getInitialPagination = function getInitialPagination(pagination) {
63
64
  pageSize: undefined
64
65
  };
65
66
  }
67
+ var defaults = _objectSpread(_objectSpread({}, _table_pagination.euiTablePaginationDefaults), consumerDefaults);
66
68
  var _ref = pagination,
67
69
  _ref$pageSizeOptions = _ref.pageSizeOptions,
68
- pageSizeOptions = _ref$pageSizeOptions === void 0 ? _pagination_bar.defaults.pageSizeOptions : _ref$pageSizeOptions,
69
- showPerPageOptions = _ref.showPerPageOptions;
70
- var defaultPageSize = pageSizeOptions ? pageSizeOptions[0] : _pagination_bar.defaults.pageSizeOptions[0];
70
+ pageSizeOptions = _ref$pageSizeOptions === void 0 ? defaults.itemsPerPageOptions : _ref$pageSizeOptions,
71
+ _ref$showPerPageOptio = _ref.showPerPageOptions,
72
+ showPerPageOptions = _ref$showPerPageOptio === void 0 ? defaults.showPerPageOptions : _ref$showPerPageOptio;
73
+ var defaultPageSize = pageSizeOptions !== null && pageSizeOptions !== void 0 && pageSizeOptions.includes(defaults.itemsPerPage) ? defaults.itemsPerPage : pageSizeOptions[0];
71
74
  var initialPageIndex = pagination === true ? 0 : (_ref2 = (_pagination$pageIndex = pagination.pageIndex) !== null && _pagination$pageIndex !== void 0 ? _pagination$pageIndex : pagination.initialPageIndex) !== null && _ref2 !== void 0 ? _ref2 : 0;
72
75
  var initialPageSize = pagination === true ? defaultPageSize : (_ref3 = (_pagination$pageSize = pagination.pageSize) !== null && _pagination$pageSize !== void 0 ? _pagination$pageSize : pagination.initialPageSize) !== null && _ref3 !== void 0 ? _ref3 : defaultPageSize;
73
- if (showPerPageOptions && initialPageSize != null && (!pageSizeOptions || !pageSizeOptions.includes(initialPageSize))) {
76
+ if (showPerPageOptions && initialPageSize != null && !(pageSizeOptions !== null && pageSizeOptions !== void 0 && pageSizeOptions.includes(initialPageSize))) {
74
77
  throw new Error("EuiInMemoryTable received initialPageSize ".concat(initialPageSize, ", which wasn't provided within pageSizeOptions."));
75
78
  }
76
79
  return {
@@ -123,7 +126,7 @@ function getInitialSorting(columns, sorting) {
123
126
  var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
124
127
  _inherits(EuiInMemoryTable, _Component);
125
128
  var _super = _createSuper(EuiInMemoryTable);
126
- function EuiInMemoryTable(props) {
129
+ function EuiInMemoryTable(props, context) {
127
130
  var _this;
128
131
  _classCallCheck(this, EuiInMemoryTable);
129
132
  _this = _super.call(this, props);
@@ -226,7 +229,7 @@ var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
226
229
  _pagination = props.pagination,
227
230
  sorting = props.sorting,
228
231
  allowNeutralSort = props.allowNeutralSort;
229
- var _getInitialPagination = getInitialPagination(_pagination),
232
+ var _getInitialPagination = getInitialPagination(_pagination, context.EuiTablePagination),
230
233
  _pageIndex = _getInitialPagination.pageIndex,
231
234
  _pageSize = _getInitialPagination.pageSize,
232
235
  pageSizeOptions = _getInitialPagination.pageSizeOptions,
@@ -502,6 +505,7 @@ var EuiInMemoryTable = /*#__PURE__*/function (_Component) {
502
505
  return EuiInMemoryTable;
503
506
  }(_react.Component);
504
507
  exports.EuiInMemoryTable = EuiInMemoryTable;
508
+ _defineProperty(EuiInMemoryTable, "contextType", _component_defaults.EuiComponentDefaultsContext);
505
509
  _defineProperty(EuiInMemoryTable, "defaultProps", {
506
510
  responsive: true,
507
511
  tableLayout: 'fixed'
@@ -993,6 +997,9 @@ EuiInMemoryTable.propTypes = {
993
997
  "data-test-subj": _propTypes.default.string,
994
998
  css: _propTypes.default.any
995
999
  }).isRequired]),
1000
+ /**
1001
+ * Configures #Pagination
1002
+ */
996
1003
  pagination: _propTypes.default.oneOfType([_propTypes.default.oneOf([undefined]), _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.shape({
997
1004
  pageSizeOptions: _propTypes.default.arrayOf(_propTypes.default.number.isRequired),
998
1005
  initialPageIndex: _propTypes.default.number,
@@ -1001,16 +1008,22 @@ EuiInMemoryTable.propTypes = {
1001
1008
  pageSize: _propTypes.default.number,
1002
1009
  /**
1003
1010
  * Option to completely hide the "Rows per page" selector.
1011
+ *
1012
+ * @default true
1004
1013
  */
1005
1014
  showPerPageOptions: _propTypes.default.bool,
1006
1015
  /**
1007
1016
  * Current selection for "Rows per page".
1008
1017
  * Pass `0` to display the selected "Show all" option and hide the pagination.
1018
+ *
1019
+ * @default 10
1009
1020
  */
1010
1021
  itemsPerPage: _propTypes.default.number,
1011
1022
  /**
1012
1023
  * Custom array of options for "Rows per page".
1013
1024
  * Pass `0` as one of the options to create a "Show all" option.
1025
+ *
1026
+ * @default [10, 25, 50]
1014
1027
  */
1015
1028
  itemsPerPageOptions: _propTypes.default.arrayOf(_propTypes.default.number.isRequired),
1016
1029
  /**
@@ -1024,6 +1037,12 @@ EuiInMemoryTable.propTypes = {
1024
1037
  "aria-controls": _propTypes.default.string,
1025
1038
  "aria-label": _propTypes.default.string
1026
1039
  }).isRequired])]),
1040
+ /**
1041
+ * Configures #EuiTableSortingType
1042
+ */
1043
+ /**
1044
+ * Configures #EuiTableSortingType
1045
+ */
1027
1046
  sorting: _propTypes.default.oneOfType([_propTypes.default.bool.isRequired, _propTypes.default.shape({
1028
1047
  sort: _propTypes.default.any.isRequired
1029
1048
  }).isRequired]),
@@ -4,10 +4,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.defaults = exports.PaginationBar = void 0;
7
+ exports.PaginationBar = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _spacer = require("../spacer");
10
- var _table = require("../table");
10
+ var _table_pagination = require("../table/table_pagination");
11
11
  var _react2 = require("@emotion/react");
12
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -19,29 +19,33 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
  * Side Public License, v 1.
20
20
  */
21
21
 
22
- var defaults = {
23
- pageSizeOptions: [10, 25, 50]
24
- };
25
- exports.defaults = defaults;
26
22
  var PaginationBar = function PaginationBar(_ref) {
27
23
  var pagination = _ref.pagination,
28
24
  onPageSizeChange = _ref.onPageSizeChange,
29
25
  onPageChange = _ref.onPageChange,
30
26
  ariaControls = _ref['aria-controls'],
31
27
  ariaLabel = _ref['aria-label'];
32
- var pageSizeOptions = pagination.pageSizeOptions ? pagination.pageSizeOptions : defaults.pageSizeOptions;
33
- var pageCount = pagination.pageSize ? Math.ceil(pagination.totalItemCount / pagination.pageSize) : 1;
28
+ var defaults = (0, _table_pagination.useEuiTablePaginationDefaults)();
29
+ var pageIndex = pagination.pageIndex,
30
+ totalItemCount = pagination.totalItemCount,
31
+ _pagination$pageSize = pagination.pageSize,
32
+ pageSize = _pagination$pageSize === void 0 ? defaults.itemsPerPage : _pagination$pageSize,
33
+ _pagination$pageSizeO = pagination.pageSizeOptions,
34
+ pageSizeOptions = _pagination$pageSizeO === void 0 ? defaults.itemsPerPageOptions : _pagination$pageSizeO,
35
+ _pagination$showPerPa = pagination.showPerPageOptions,
36
+ showPerPageOptions = _pagination$showPerPa === void 0 ? defaults.showPerPageOptions : _pagination$showPerPa;
37
+ var pageCount = pageSize ? Math.ceil(totalItemCount / pageSize) : 1;
34
38
  (0, _react.useEffect)(function () {
35
- if (pageCount < pagination.pageIndex + 1) {
39
+ if (pageCount < pageIndex + 1) {
36
40
  onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange(pageCount - 1);
37
41
  }
38
- }, [pageCount, onPageChange, pagination]);
42
+ }, [pageCount, onPageChange, pageIndex]);
39
43
  return (0, _react2.jsx)("div", null, (0, _react2.jsx)(_spacer.EuiSpacer, {
40
44
  size: "m"
41
- }), (0, _react2.jsx)(_table.EuiTablePagination, {
42
- activePage: pagination.pageIndex,
43
- showPerPageOptions: pagination.showPerPageOptions,
44
- itemsPerPage: pagination.pageSize,
45
+ }), (0, _react2.jsx)(_table_pagination.EuiTablePagination, {
46
+ activePage: pageIndex,
47
+ showPerPageOptions: showPerPageOptions,
48
+ itemsPerPage: pageSize,
45
49
  itemsPerPageOptions: pageSizeOptions,
46
50
  pageCount: pageCount,
47
51
  onChangeItemsPerPage: onPageSizeChange,
@@ -160,10 +160,17 @@ _EuiBottomBar.propTypes = {
160
160
  * ReactNode to render as this component's content
161
161
  */
162
162
  children: _propTypes.default.node.isRequired,
163
+ /**
164
+ * If not specified, `EuiPortal` will insert itself
165
+ * into the end of the `document.body` by default
166
+ */
163
167
  insert: _propTypes.default.shape({
164
168
  sibling: _propTypes.default.any.isRequired,
165
- position: _propTypes.default.oneOf(["before", "after"]).isRequired
169
+ position: _propTypes.default.any.isRequired
166
170
  }),
171
+ /**
172
+ * Optional ref callback
173
+ */
167
174
  portalRef: _propTypes.default.func
168
175
  }).isRequired]),
169
176
  /**
@@ -235,7 +242,7 @@ EuiBottomBar.propTypes = {
235
242
  children: _propTypes.default.node.isRequired,
236
243
  insert: _propTypes.default.shape({
237
244
  sibling: _propTypes.default.any.isRequired,
238
- position: _propTypes.default.oneOf(["before", "after"]).isRequired
245
+ position: _propTypes.default.any.isRequired
239
246
  }),
240
247
  portalRef: _propTypes.default.func
241
248
  }).isRequired]),
@@ -18,7 +18,7 @@ var _i18n = require("../i18n");
18
18
  var _breadcrumb = require("./breadcrumb.styles");
19
19
  var _react2 = require("@emotion/react");
20
20
  var _excluded = ["children", "className", "type", "truncate"],
21
- _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
21
+ _excluded2 = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"];
22
22
  /*
23
23
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
24
  * or more contributor license agreements. Licensed under the Elastic License
@@ -71,6 +71,8 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
71
71
  href = _ref2.href,
72
72
  rel = _ref2.rel,
73
73
  onClick = _ref2.onClick,
74
+ popoverContent = _ref2.popoverContent,
75
+ popoverProps = _ref2.popoverProps,
74
76
  className = _ref2.className,
75
77
  color = _ref2.color,
76
78
  isFirstBreadcrumb = _ref2.isFirstBreadcrumb,
@@ -92,29 +94,59 @@ var EuiBreadcrumbContent = function EuiBreadcrumbContent(_ref2) {
92
94
  cssStyles.push(styles.applicationStyles.lastChild);
93
95
  }
94
96
  }
97
+ var isInteractiveBreadcrumb = href || onClick;
98
+ var linkColor = color || (highlightLastBreadcrumb ? 'text' : 'subdued');
99
+ var plainTextColor = highlightLastBreadcrumb ? 'default' : 'subdued'; // Does not inherit `color` prop
95
100
  var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
101
+ var isPopoverBreadcrumb = !!popoverContent;
102
+ var _useState = (0, _react.useState)(false),
103
+ _useState2 = _slicedToArray(_useState, 2),
104
+ isPopoverOpen = _useState2[0],
105
+ setIsPopoverOpen = _useState2[1];
106
+ var popoverAriaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.popoverAriaLabel', 'Clicking this button will toggle a popover dialog.');
96
107
  return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
97
108
  var title = innerText === '' ? undefined : innerText;
98
- return !href && !onClick ? (0, _react2.jsx)(_text.EuiTextColor, {
99
- color: highlightLastBreadcrumb ? 'default' : 'subdued',
100
- cloneElement: true
101
- }, (0, _react2.jsx)("span", _extends({
109
+ var sharedProps = {
102
110
  ref: ref,
103
111
  title: title,
104
- "aria-current": ariaCurrent,
112
+ 'aria-current': ariaCurrent,
105
113
  className: classes,
106
114
  css: cssStyles
107
- }, rest), text)) : (0, _react2.jsx)(_link.EuiLink, _extends({
108
- ref: ref,
109
- title: title,
110
- "aria-current": ariaCurrent,
111
- className: classes,
112
- css: cssStyles,
113
- color: color || (highlightLastBreadcrumb ? 'text' : 'subdued'),
114
- onClick: onClick,
115
- href: href,
116
- rel: rel
117
- }, rest), text);
115
+ };
116
+ if (isPopoverBreadcrumb) {
117
+ return (0, _react2.jsx)(_popover.EuiPopover, _extends({}, popoverProps, {
118
+ isOpen: isPopoverOpen,
119
+ closePopover: function closePopover() {
120
+ return setIsPopoverOpen(false);
121
+ },
122
+ button: (0, _react2.jsx)(_link.EuiLink, _extends({}, sharedProps, {
123
+ color: linkColor
124
+ // Avoid passing href and onClick - should only toggle the popover
125
+ ,
126
+ onClick: function onClick() {
127
+ return setIsPopoverOpen(function (isOpen) {
128
+ return !isOpen;
129
+ });
130
+ }
131
+ }, rest), text, ' ', (0, _react2.jsx)(_icon.EuiIcon, {
132
+ type: "arrowDown",
133
+ size: "s",
134
+ "aria-label": " - ".concat(popoverAriaLabel)
135
+ }))
136
+ }), popoverContent);
137
+ } else if (isInteractiveBreadcrumb) {
138
+ return (0, _react2.jsx)(_link.EuiLink, _extends({}, sharedProps, {
139
+ color: linkColor,
140
+ onClick: onClick,
141
+ href: href,
142
+ rel: rel
143
+ }, rest), text);
144
+ } else {
145
+ return (0, _react2.jsx)(_text.EuiTextColor, {
146
+ color: plainTextColor,
147
+ cloneElement: true
148
+ }, (0, _react2.jsx)("span", _extends({}, sharedProps, rest), text));
149
+ }
118
150
  });
119
151
  };
120
152
  exports.EuiBreadcrumbContent = EuiBreadcrumbContent;
@@ -135,13 +167,174 @@ EuiBreadcrumbContent.propTypes = {
135
167
  */
136
168
  truncate: _propTypes.default.bool,
137
169
  /**
138
- * Accepts any EuiLink `color` when rendered as one (has `href` or `onClick`)
170
+ * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
139
171
  */
140
172
  color: _propTypes.default.any,
141
173
  /**
142
174
  * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
143
175
  */
144
176
  "aria-current": _propTypes.default.any,
177
+ /**
178
+ * Creates a breadcrumb that toggles a popover dialog
179
+ *
180
+ * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
181
+ * click behavior should only trigger a popover.
182
+ */
183
+ popoverContent: _propTypes.default.node,
184
+ /**
185
+ * Allows customizing the popover if necessary. Accepts any props that
186
+ * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
187
+ */
188
+ popoverProps: _propTypes.default.shape({
189
+ /**
190
+ * Class name passed to the direct parent of the button
191
+ */
192
+ anchorClassName: _propTypes.default.string,
193
+ /**
194
+ * Alignment of the popover and arrow relative to the button
195
+ */
196
+ anchorPosition: _propTypes.default.any,
197
+ /**
198
+ * Style and position alteration for arrow-less, left-aligned
199
+ * attachment. Intended for use with inputs as anchors, e.g.
200
+ * EuiInputPopover
201
+ */
202
+ attachToAnchor: _propTypes.default.bool,
203
+ buttonRef: _propTypes.default.any,
204
+ /**
205
+ * Restrict the popover's position within this element
206
+ */
207
+ container: _propTypes.default.any,
208
+ /**
209
+ * CSS display type for both the popover and anchor
210
+ */
211
+ display: _propTypes.default.any,
212
+ /**
213
+ * Object of props passed to EuiFocusTrap
214
+ */
215
+ focusTrapProps: _propTypes.default.any,
216
+ /**
217
+ * Show arrow indicating to originating button
218
+ */
219
+ hasArrow: _propTypes.default.bool,
220
+ /**
221
+ * Specifies what element should initially have focus; Can be a DOM
222
+ * node, or a selector string (which will be passed to
223
+ * document.querySelector() to find the DOM node), or a function that
224
+ * returns a DOM node.
225
+ *
226
+ * If not passed, initial focus defaults to the popover panel.
227
+ */
228
+ initialFocus: _propTypes.default.any,
229
+ /**
230
+ * Passed directly to EuiPortal for DOM positioning. Both properties are
231
+ * required if prop is specified
232
+ */
233
+ insert: _propTypes.default.shape({
234
+ sibling: _propTypes.default.any.isRequired,
235
+ position: _propTypes.default.oneOf(["before", "after"]).isRequired
236
+ }),
237
+ /**
238
+ * Traps tab focus within the popover contents
239
+ */
240
+ ownFocus: _propTypes.default.bool,
241
+ /**
242
+ * Custom class added to the EuiPanel containing the popover contents
243
+ */
244
+ panelClassName: _propTypes.default.string,
245
+ /**
246
+ * EuiPanel padding on all sides
247
+ */
248
+ panelPaddingSize: _propTypes.default.any,
249
+ /**
250
+ * Standard DOM `style` attribute. Passed to the EuiPanel
251
+ */
252
+ panelStyle: _propTypes.default.any,
253
+ /**
254
+ * Object of props passed to EuiPanel. See #EuiPopoverPanelProps
255
+ */
256
+ panelProps: _propTypes.default.shape({
257
+ element: _propTypes.default.oneOf(["div"]),
258
+ /**
259
+ * Padding for all four sides
260
+ */
261
+ paddingSize: _propTypes.default.any,
262
+ /**
263
+ * Corner border radius
264
+ */
265
+ borderRadius: _propTypes.default.any,
266
+ /**
267
+ * When true the panel will grow in height to match `EuiFlexItem`
268
+ */
269
+ grow: _propTypes.default.bool,
270
+ panelRef: _propTypes.default.any,
271
+ /**
272
+ * Background color of the panel;
273
+ * Usually a lightened form of the brand colors
274
+ */
275
+ color: _propTypes.default.any,
276
+ className: _propTypes.default.string,
277
+ "aria-label": _propTypes.default.string,
278
+ "data-test-subj": _propTypes.default.string,
279
+ css: _propTypes.default.any
280
+ }),
281
+ panelRef: _propTypes.default.any,
282
+ /**
283
+ * Optional screen reader instructions to announce upon popover open,
284
+ * in addition to EUI's default popover instructions for Escape on close.
285
+ * Useful for popovers that may have additional keyboard capabilities such as
286
+ * arrow navigation.
287
+ */
288
+ popoverScreenReaderText: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.node.isRequired]),
289
+ popoverRef: _propTypes.default.any,
290
+ /**
291
+ * When `true`, the popover's position is re-calculated when the user
292
+ * scrolls, this supports having fixed-position popover anchors. When nesting
293
+ * an `EuiPopover` in a scrollable container, `repositionOnScroll` should be `true`
294
+ */
295
+ repositionOnScroll: _propTypes.default.bool,
296
+ /**
297
+ * Must be set to true if using `EuiDragDropContext` within a popover,
298
+ * otherwise your nested drag & drop will have incorrect positioning
299
+ */
300
+ hasDragDrop: _propTypes.default.bool,
301
+ /**
302
+ * By default, popover content inherits the z-index of the anchor
303
+ * component; pass `zIndex` to override
304
+ */
305
+ zIndex: _propTypes.default.number,
306
+ /**
307
+ * Distance away from the anchor that the popover will render
308
+ */
309
+ offset: _propTypes.default.number,
310
+ /**
311
+ * Minimum distance between the popover and the bounding container;
312
+ * Pass an array of 4 values to adjust each side differently: `[top, right, bottom, left]`
313
+ * Default is 16
314
+ */
315
+ buffer: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.any.isRequired]),
316
+ /**
317
+ * Element to pass as the child element of the arrow;
318
+ * Use case is typically limited to an accompanying `EuiBeacon`
319
+ */
320
+ arrowChildren: _propTypes.default.node,
321
+ /**
322
+ * Provide a name to the popover panel
323
+ */
324
+ "aria-label": _propTypes.default.string,
325
+ /**
326
+ * Alternative option to `aria-label` that takes an `id`.
327
+ * Usually takes the `id` of the popover title
328
+ */
329
+ "aria-labelledby": _propTypes.default.string,
330
+ /**
331
+ * Function callback for when the popover positon changes
332
+ */
333
+ onPositionChange: _propTypes.default.func,
334
+ className: _propTypes.default.string,
335
+ "data-test-subj": _propTypes.default.string,
336
+ css: _propTypes.default.any
337
+ }),
145
338
  type: _propTypes.default.oneOf(["page", "application"]).isRequired,
146
339
  isFirstBreadcrumb: _propTypes.default.bool,
147
340
  isLastBreadcrumb: _propTypes.default.bool,
@@ -153,38 +346,23 @@ var EuiBreadcrumbCollapsed = function EuiBreadcrumbCollapsed(_ref3) {
153
346
  var children = _ref3.children,
154
347
  isFirstBreadcrumb = _ref3.isFirstBreadcrumb,
155
348
  type = _ref3.type;
156
- var _useState = (0, _react.useState)(false),
157
- _useState2 = _slicedToArray(_useState, 2),
158
- isPopoverOpen = _useState2[0],
159
- setIsPopoverOpen = _useState2[1];
160
349
  var euiTheme = (0, _services.useEuiTheme)();
161
350
  var styles = (0, _breadcrumb.euiBreadcrumbStyles)(euiTheme);
162
351
  var cssStyles = [styles.isCollapsed];
163
352
  var ariaLabel = (0, _i18n.useEuiI18n)('euiBreadcrumb.collapsedBadge.ariaLabel', 'See collapsed breadcrumbs');
164
- var ellipsisButton = (0, _react2.jsx)(EuiBreadcrumbContent, {
165
- "aria-label": ariaLabel,
353
+ return (0, _react2.jsx)(EuiBreadcrumb, {
354
+ css: cssStyles,
355
+ type: type
356
+ }, (0, _react2.jsx)(EuiBreadcrumbContent, {
357
+ popoverContent: children,
358
+ text: (0, _react2.jsx)("span", {
359
+ "aria-label": ariaLabel
360
+ }, "\u2026"),
166
361
  title: ariaLabel,
167
- onClick: function onClick() {
168
- return setIsPopoverOpen(!isPopoverOpen);
169
- },
170
362
  truncate: false,
171
- text: (0, _react2.jsx)(_react.default.Fragment, null, "\u2026 ", (0, _react2.jsx)(_icon.EuiIcon, {
172
- type: "arrowDown",
173
- size: "s"
174
- })),
175
363
  isFirstBreadcrumb: isFirstBreadcrumb,
176
364
  type: type
177
- });
178
- return (0, _react2.jsx)(EuiBreadcrumb, {
179
- css: cssStyles,
180
- type: type
181
- }, (0, _react2.jsx)(_popover.EuiPopover, {
182
- button: ellipsisButton,
183
- isOpen: isPopoverOpen,
184
- closePopover: function closePopover() {
185
- return setIsPopoverOpen(false);
186
- }
187
- }, children));
365
+ }));
188
366
  };
189
367
  exports.EuiBreadcrumbCollapsed = EuiBreadcrumbCollapsed;
190
368
  EuiBreadcrumbCollapsed.propTypes = {
@@ -141,13 +141,25 @@ EuiBreadcrumbs.propTypes = {
141
141
  */
142
142
  truncate: _propTypes.default.bool,
143
143
  /**
144
- * Accepts any EuiLink `color` when rendered as one (has `href` or `onClick`)
144
+ * Accepts any EuiLink `color` when rendered as one (has `href`, `onClick`, or `popoverContent`)
145
145
  */
146
146
  color: _propTypes.default.any,
147
147
  /**
148
148
  * Override the existing `aria-current` which defaults to `page` for the last breadcrumb
149
149
  */
150
- "aria-current": _propTypes.default.any
150
+ "aria-current": _propTypes.default.any,
151
+ /**
152
+ * Creates a breadcrumb that toggles a popover dialog
153
+ *
154
+ * If passed, both `href` and `onClick` will be ignored - the breadcrumb's
155
+ * click behavior should only trigger a popover.
156
+ */
157
+ popoverContent: _propTypes.default.node,
158
+ /**
159
+ * Allows customizing the popover if necessary. Accepts any props that
160
+ * [EuiPopover](/#/layout/popover) accepts, except for props that control state.
161
+ */
162
+ popoverProps: _propTypes.default.any
151
163
  }).isRequired).isRequired,
152
164
  /**
153
165
  * Determines breadcrumbs appearance, with `page` being the default styling.